my_utilities.jwt_handler package

Submodules

my_utilities.jwt_handler.auth_cache_handler module

class my_utilities.jwt_handler.auth_cache_handler.AuthCacheHandler(config, cache=None, is_multy_session=True)[source]

Bases: object

Parameters:
_key_template_access = 'user_{id}_access_tokens'
_key_template_refresh = 'user_{id}_refresh_tokens'
clear_other_sessions(token, is_access_token=True)[source]
Return type:

None

Parameters:
  • token (str)

  • is_access_token (bool)

delete_pair_tokens(token, is_access_token=True)[source]
Return type:

None

Parameters:
  • token (str)

  • is_access_token (bool)

get_pair_tokens(user_id, payload=None, headers=None, is_add_expired=True)[source]
Return type:

tuple[str, str]

Parameters:
  • user_id (str)

  • payload (dict[str, Any] | None)

  • headers (dict[str, Any] | None)

  • is_add_expired (bool)

refresh_pair_tokens(refresh_token)[source]
Return type:

tuple[str, str]

Parameters:

refresh_token (str)

update_user_data(token, is_access_token=True, new_payload=None, new_header=None)[source]
Return type:

tuple[str, str]

Parameters:
  • token (str)

  • is_access_token (bool)

  • new_payload (dict[str, Any] | None)

  • new_header (dict[str, Any] | None)

verify_token(token, is_access_token=True, verify=True, validate_exp=True)[source]
Return type:

tuple[str, dict[str, Any] | None, dict[str, Any] | None]

Parameters:
  • token (str)

  • is_access_token (bool)

  • verify (bool)

  • validate_exp (bool)

my_utilities.jwt_handler.exc module

exception my_utilities.jwt_handler.exc.IncorrectTokenError[source]

Bases: UtilsJWTException

exception my_utilities.jwt_handler.exc.NotValidSession[source]

Bases: UtilsJWTException

exception my_utilities.jwt_handler.exc.TTLTokenExpiredError[source]

Bases: UtilsJWTException

exception my_utilities.jwt_handler.exc.UnknownError[source]

Bases: UtilsJWTException

exception my_utilities.jwt_handler.exc.UtilsJWTException[source]

Bases: Exception

exception my_utilities.jwt_handler.exc.WrongTypeToken[source]

Bases: UtilsJWTException

my_utilities.jwt_handler.jwt_handler module

class my_utilities.jwt_handler.jwt_handler.JWTAuthHandler(config=None)[source]

Bases: object

Return type:

Any

_access_token_key = 'access_token'
_decode(token, verify=True, options=None)[source]
Return type:

tuple[dict[str, Any], dict[str, Any]]

Parameters:
  • token (str)

  • verify (bool)

  • options (dict[str, Any] | None)

_encode(subject, token_type, payload=None, expires_in=None, header=None)[source]
Return type:

str

Parameters:
  • subject (str)

  • token_type (str)

  • payload (dict[str, Any] | None)

  • expires_in (int | None)

  • header (dict[str, Any] | None)

_key_token_type = 'token_type'
_refresh_token_key = 'refresh_token'
static _remove_keys(data, list_keys, reverse=False)[source]
Return type:

dict[str, Any] | None

Parameters:
  • data (dict[str, Any])

  • list_keys (list[str])

  • reverse (bool)

_subject_key = 'sub'
get_subject(token)[source]
Return type:

str | None

Parameters:

token (str)

get_tokens(user_id, payload=None, header=None, is_add_expired=True)[source]
Return type:

tuple[str, str]

Parameters:
  • user_id (str)

  • payload (dict[str, Any] | None)

  • header (dict[str, Any] | None)

  • is_add_expired (bool)

verify_token(token, is_access_token=True, validate_exp=True, verify=True)[source]

Method for verify token

Parameters:
  • token (str)

  • is_access_token (bool)

  • validate_exp (bool)

  • verify (bool)

Exception:

Return type:

tuple[str | None, dict[str, Any] | None, dict[str, Any] | None]

class my_utilities.jwt_handler.jwt_handler.JWTHandlerConfig(**data)[source]

Bases: BaseModel

Parameters:
  • ttl_access_token (int)

  • ttl_refresh_token (int)

  • secret (str)

  • algorithm (str)

  • user_identifier_in_user_data (str)

  • leeway (float)

_abc_impl = <_abc._abc_data object>
algorithm: str
leeway: float
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

secret: str
ttl_access_token: int
ttl_refresh_token: int
user_identifier_in_user_data: str

Module contents