Models¶
-
class
oauth2_provider.models.AbstractAccessToken(*args, **kwargs)¶ An AccessToken instance represents the actual access token to access user’s resources, as in RFC6749 Section 5.
Fields:
userThe Django user representing resources” ownersource_refresh_tokenIf from a refresh, the consumed RefeshTokentokenAccess tokenapplicationApplication instanceexpiresDate and time of token expiration, in DateTime formatscopeAllowed scopes
-
allow_scopes(scopes)¶ Check if the token allows the provided scopes
Parameters: scopes – An iterable containing the scopes to check
-
is_expired()¶ Check token expiration with timezone awareness
-
is_valid(scopes=None)¶ Checks if the access token is valid.
Parameters: scopes – An iterable containing the scopes to check or None
-
revoke()¶ Convenience method to uniform tokens” interface, for now simply remove this token from the database in order to revoke it.
-
scopes¶ Returns a dictionary of allowed scope names (as keys) with their descriptions (as values)
-
class
oauth2_provider.models.AbstractApplication(*args, **kwargs)¶ An Application instance represents a Client on the Authorization server. Usually an Application is created manually by client’s developers after logging in on an Authorization Server.
Fields:
client_idThe client identifier issued to the client during the- registration process as described in RFC6749 Section 2.2
userref to a Django userredirect_urisThe list of allowed redirect uri. The string- consists of valid URLs separated by space
client_typeClient type as described in RFC6749 Section 2.1authorization_grant_typeAuthorization flows available to the- Application
client_secretConfidential secret issued to the client during- the registration process as described in RFC6749 Section 2.2
nameFriendly name for the Application
-
clean()¶ Hook for doing any extra model-wide validation after clean() has been called on every field by self.clean_fields. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.
-
default_redirect_uri¶ Returns the default redirect_uri extracting the first item from the
redirect_urisstring
-
get_allowed_schemes()¶ Returns the list of redirect schemes allowed by the Application. By default, returns ALLOWED_REDIRECT_URI_SCHEMES.
-
is_usable(request)¶ Determines whether the application can be used.
Parameters: request – The HTTP request being processed.
-
redirect_uri_allowed(uri)¶ Checks if given url is one of the items in
redirect_urisstringParameters: uri – Url to check
-
class
oauth2_provider.models.AbstractGrant(*args, **kwargs)¶ A Grant instance represents a token with a short lifetime that can be swapped for an access token, as described in RFC6749 Section 4.1.2
Fields:
userThe Django user who requested the grantcodeThe authorization code generated by the authorization serverapplicationApplication instance this grant was asked forexpiresExpire time in seconds, defaults tosettings.AUTHORIZATION_CODE_EXPIRE_SECONDS
redirect_uriSelf explainedscopeRequired scopes, optionalcode_challengePKCE code challengecode_challenge_methodPKCE code challenge transform algorithm
-
is_expired()¶ Check token expiration with timezone awareness
-
class
oauth2_provider.models.AbstractRefreshToken(*args, **kwargs)¶ A RefreshToken instance represents a token that can be swapped for a new access token when it expires.
Fields:
userThe Django user representing resources” ownertokenToken valueapplicationApplication instanceaccess_tokenAccessToken instance this refresh token is- bounded to
revokedTimestamp of when this refresh token was revoked
-
revoke()¶ Mark this refresh token revoked and revoke related access token
-
class
oauth2_provider.models.AccessToken(id, user, source_refresh_token, token, application, expires, scope, created, updated)¶ -
exception
DoesNotExist¶
-
exception
MultipleObjectsReturned¶
-
exception
-
class
oauth2_provider.models.Application(id, client_id, user, redirect_uris, client_type, authorization_grant_type, client_secret, name, skip_authorization, created, updated)¶ -
exception
DoesNotExist¶
-
exception
MultipleObjectsReturned¶
-
exception
-
class
oauth2_provider.models.Grant(id, user, code, application, expires, redirect_uri, scope, created, updated, code_challenge, code_challenge_method)¶ -
exception
DoesNotExist¶
-
exception
MultipleObjectsReturned¶
-
exception
-
class
oauth2_provider.models.RefreshToken(id, user, token, application, access_token, created, updated, revoked)¶ -
exception
DoesNotExist¶
-
exception
MultipleObjectsReturned¶
-
exception
-
oauth2_provider.models.get_access_token_model()¶ Return the AccessToken model that is active in this project.
-
oauth2_provider.models.get_application_model()¶ Return the Application model that is active in this project.
-
oauth2_provider.models.get_grant_model()¶ Return the Grant model that is active in this project.
-
oauth2_provider.models.get_refresh_token_model()¶ Return the RefreshToken model that is active in this project.