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
dict
containing theaccess_token
and thetoken_type
. If the value ofTokenGenerator.expires_in
is larger than 0, arefresh_token
will 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.TokenGenerator
Generate a token using JSON Web Tokens tokens.
-
class
oauth2.tokengenerator.
URandomTokenGenerator
(length=40)[source]¶ Bases:
oauth2.tokengenerator.TokenGenerator
Create 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.TokenGenerator
Generate 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
-