Auth

class praw.models.Auth(reddit, _data)

Auth provides an interface to Reddit’s authorization.

Parameters:
__init__(reddit, _data)

Initialize a PRAWBase instance.

Parameters:
Return type:

None

authorize(code)

Complete the web authorization flow and return the refresh token.

Parameters:

code (str) – The code obtained through the request to the redirect uri.

Return type:

str | None

Returns:

The obtained refresh token, if available, otherwise None.

The session’s active authorization will be updated upon success.

implicit(*, access_token, expires_in, scope)

Set the active authorization to be an implicit authorization.

Parameters:
  • access_token (str) – The access_token obtained from Reddit’s callback.

  • expires_in (int) – 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 (str) – A space-delimited string of Reddit OAuth2 scope names as returned from Reddit’s callback.

Raises:

InvalidImplicitAuth if Reddit was initialized for a non-installed application type.

Return type:

None

property limits: dict[str, str | int | None]

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.

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.

classmethod parse(data, reddit)

Return an instance of cls from data.

Parameters:
Return type:

PRAWBase

scopes()

Return a set of scopes included in the current authorization.

For read-only authorizations this should return {"*"}.

Return type:

set[str]

url(*, duration='permanent', implicit=False, scopes, state)

Return the URL used out-of-band to grant access to your application.

Parameters:
  • duration (str) – 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 when implicit=True.

  • implicit (bool) – For installed applications, this value can be set to use the implicit, rather than the code flow. When True, the duration argument has no effect as only temporary tokens can be retrieved.

  • scopes (list[str]) – A list of OAuth scopes to request authorization for.

  • state (str) – 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.

Return type:

str