oauth2.tokengenerator — Generate Tokens¶
Provides various implementations of algorithms to generate an Access Token or Refresh Token.
Base Class¶
-
class
oauth2.tokengenerator.TokenGenerator[source]¶ Base class of every token generator.
-
create_access_token_data(data, scopes, grant_type, user_id, client_id)[source]¶ Create data needed by an access token.
Parameters: - data (dict) – Arbitrary data as returned by the
authenticate()method of aSiteAdapter. - grant_type (str) –
- user_id (int) – Identifier of the current user as returned by the
authenticate()method of aSiteAdapter - client_id (str) – Identifier of the current client.
Returns: A
dictcontaining theaccess_tokenand thetoken_type. If the value ofTokenGenerator.expires_inis larger than 0, arefresh_tokenwill be generated too.Return type: dict
- data (dict) – Arbitrary data as returned by the
-
generate(grant_type=None, data=None, scopes=None, user_id=None, client_id=None)[source]¶ Implemented by generators extending this base class.
Parameters: - grant_type (str) – Identifier token grant_type
- data (dict) – Arbitrary data as returned by the
authenticate()method of aSiteAdapter. - scopes (dict) – scopes for oauth session
- user_id (int) – Identifier of the current user as returned by the
authenticate()method of aSiteAdapter - client_id (str) – Identifier of the current client.
Raises: NotImplementedError –
-
refresh_generate(grant_type=None, data=None, scopes=None, user_id=None, client_id=None)[source]¶ Implemented by refresh generators extending this base class.
Parameters: - grant_type (str) – Identifier token grant_type
- data (dict) – Arbitrary data as returned by the
authenticate()method of aSiteAdapter. - scopes (dict) – scopes for oauth session
- user_id (int) – Identifier of the current user as returned by the
authenticate()method of aSiteAdapter - client_id (str) – Identifier of the current client.
Raises: NotImplementedError –
-
Implementations¶
-
class
oauth2.tokengenerator.StatelessTokenGenerator(secret_key)[source]¶ Bases:
oauth2.tokengenerator.TokenGeneratorGenerate a token using JSON Web Tokens tokens.
-
class
oauth2.tokengenerator.URandomTokenGenerator(length=40)[source]¶ Bases:
oauth2.tokengenerator.TokenGeneratorCreate a token using
os.urandom().-
generate(grant_type=None, data=None, scopes=None, user_id=None, client_id=None)[source]¶ Returns: A new token Return type: str
-
refresh_generate(grant_type=None, data=None, scopes=None, user_id=None, client_id=None)¶ Returns: A new token Return type: str
-
-
class
oauth2.tokengenerator.Uuid4TokenGenerator[source]¶ Bases:
oauth2.tokengenerator.TokenGeneratorGenerate a token using uuid4.
-
generate(grant_type=None, data=None, scopes=None, user_id=None, client_id=None)[source]¶ Returns: A new token Return type: str
-
refresh_generate(grant_type=None, data=None, scopes=None, user_id=None, client_id=None)¶ Returns: A new token Return type: str
-