Auth
- class praw.models.Auth(reddit: praw.Reddit, _data: Optional[Dict[str, Any]])
Auth provides an interface to Reddit’s authorization.
- __init__(reddit: praw.Reddit, _data: Optional[Dict[str, Any]])
Initialize a
PRAWBase
instance.- Parameters
reddit – An instance of
Reddit
.
- authorize(code: str) Optional[str]
Complete the web authorization flow and return the refresh token.
- Parameters
code – The code obtained through the request to the redirect uri.
- Returns
The obtained refresh token, if available, otherwise
None
.
The session’s active authorization will be updated upon success.
- implicit(*, access_token: str, expires_in: int, scope: str) None
Set the active authorization to be an implicit authorization.
- Parameters
access_token – The access_token obtained from Reddit’s callback.
expires_in – The number of seconds the
access_token
is valid for. The origin of this value was returned from Reddit’s callback. You may need to subtract an offset before passing in this number to account for a delay between when Reddit prepared the response, and when you make this function call.scope – A space-delimited string of Reddit OAuth2 scope names as returned from Reddit’s callback.
- Raises
InvalidImplicitAuth
ifReddit
was initialized for a non-installed application type.
- property limits: Dict[str, Optional[Union[str, int]]]
Return a dictionary containing the rate limit info.
The keys are:
- Remaining
The number of requests remaining to be made in the current rate limit window.
- Reset_timestamp
A unix timestamp providing an upper bound on when the rate limit counters will reset.
- Used
The number of requests made in the current rate limit window.
All values are initially
None
as these values are set in response to issued requests.The
reset_timestamp
value is an upper bound as the real timestamp is computed on Reddit’s end in preparation for sending the response. This value may change slightly within a given window due to slight changes in response times and rounding.
- classmethod parse(data: Dict[str, Any], reddit: praw.Reddit) Any
Return an instance of
cls
fromdata
.- Parameters
data – The structured data.
reddit – An instance of
Reddit
.
- scopes() Set[str]
Return a set of scopes included in the current authorization.
For read-only authorizations this should return
{"*"}
.
- url(*, duration: str = 'permanent', implicit: bool = False, scopes: List[str], state: str) str
Return the URL used out-of-band to grant access to your application.
- Parameters
duration – Either
"permanent"
or"temporary"
(default:"permanent"
)."temporary"
authorizations generate access tokens that last only 1 hour."permanent"
authorizations additionally generate a refresh token that expires 1 year after the last use and can be used indefinitely to generate new hour-long access tokens. This value is ignored whenimplicit=True
.implicit – For installed applications, this value can be set to use the implicit, rather than the code flow. When
True
, theduration
argument has no effect as only temporary tokens can be retrieved.scopes – A list of OAuth scopes to request authorization for.
state – A string that will be reflected in the callback to
redirect_uri
. This value should be temporarily unique to the client for whom the URL was generated for.