datacatalog.tokens package

Submodules

datacatalog.tokens.admin module

exception datacatalog.tokens.admin.InvalidAdminToken[source]

Bases: datacatalog.tokens.exceptions.InvalidToken

Raised when an administrative token is invalid

datacatalog.tokens.admin.get_admin_token(key, previous=False)[source]

Returns a token with administrative priviledges

Administrative tokens provide a signature that can be used to authorize edits and to trigger specific administrative events.

Parameters:
  • key (str) – The key for generating admin tokens
  • previous (bool, optional) – Retrieve the most recently issued token for this key
Returns:

Token

datacatalog.tokens.admin.validate_admin_token(token, key=None, permissive=True)[source]

Validate an adminstrative token

Only administrative tokens can be validated using this function.

Parameters:
  • token (str) – The token to validate
  • key (str) – The “token_key” value used to generate the token
  • permissive (bool, optional) – Whether to error or return a Boolean on failure
Raises:

InvalidAdminToken – The outcome when validation fails and permissive is not set.

Returns:

If permissive is set, validity is a Boolean value

Return type:

bool

datacatalog.tokens.admin.internal_get_admin_token(key=None)[source]
datacatalog.tokens.admin.get_admin_key()[source]

Get current key for generating admin tokens

datacatalog.tokens.admin.get_admin_lifetime()[source]

Get current expiration time (seconds) for new admin tokens

datacatalog.tokens.classes module

class datacatalog.tokens.classes.Salt[source]

Bases: str

A cryptographic salt

class datacatalog.tokens.classes.Token[source]

Bases: str

An update token

datacatalog.tokens.exceptions module

exception datacatalog.tokens.exceptions.InvalidToken[source]

Bases: ValueError

Raised when a token is invalid

exception datacatalog.tokens.exceptions.InvalidAdminToken[source]

Bases: datacatalog.tokens.exceptions.InvalidToken

Raised when an administrative token is invalid

datacatalog.tokens.salt module

datacatalog.tokens.salt.generate_salt(length=16)[source]

Generates a cryptographic salt

Parameters:length (int, optional) – Length of salt in bytes
Returns:a salt value
Return type:Salt

datacatalog.tokens.token module

datacatalog.tokens.token.get_token(salt, *args)[source]

Deterministically generates a token from arguments

Tokens provide a minimal signature that can be used to authorize edits to a record managed by datacatalog.

Parameters:salt (str) –
Returns:An alphanumeric token
Return type:Token
datacatalog.tokens.token.validate_token(token, salt=None, *args, permissive=True)[source]

Validate a token

Both record-level tokens and administrative tokens can be validated using this function.

Parameters:
  • token (str) – The token to validate
  • salt (str) – The “salt” value used to generate the token
  • permissive (bool, optional) – Whether to error or return a Boolean on failure
Raises:

InvalidToken – The outcome when validation fails and permissive is not set.

Returns:

If permissive is set, validity is a Boolean value

Return type:

bool