Authentication¶
- class elg.authentication.Authentication(domain: str)¶
Class to authenticate in the ELG using out-of-band authentication.
- Parameters
base_url (str) – url to authenticate.
token_url (str) – url to request tokens.
client (str) – name of the Keycloak client.
redirect_uri (str) – redirect uri.
- classmethod init(scope: str = 'openid', domain: str = 'live')¶
Class method to init an Authentication object and authenticate to the ELG.
- Parameters
scope (str, optional) – scope to use when requesting tokens. Can be set to “openid” or “offline_access” to get offline tokens. Defaults to “openid”.
domain (str, optional) – ELG domain you want to use. “live” to use the public ELG, “dev” to use the development ELG and another value to use a local ELG. Defaults to “live”.
- Returns
Authentication object with Keycloak authentication tokens.
- Return type
elg.Authentication
- classmethod from_json(filename: str)¶
Class method to init an Authentication object from a json file.
- Parameters
filename (str) – name of the json file.
- Returns
Authentication object with Keycloak authentication tokens.
- Return type
elg.Authentication
- classmethod create_authentication_url(scope: str = 'openid', domain: str = 'live') str ¶
Class method to create the Keycloak authentication url.
- Parameters
scope (str, optional) – scope to use when requesting tokens. Can be set to “openid” or “offline_access” to get offline tokens. Defaults to “openid”.
domain (str, optional) – ELG domain you want to use. “live” to use the public ELG, “dev” to use the development ELG and another value to use a local ELG. Defaults to “live”.
- Returns
Keycloak authentication url.
- Return type
str
- classmethod from_success_code(code: str, domain: str = 'live')¶
Class method to init an Authentication object from a success code.
- Parameters
code (str) – success code obtained after authentication.
domain (str, optional) – ELG domain you want to use. “live” to use the public ELG, “dev” to use the development ELG and another value to use a local ELG. Defaults to “live”.
- Returns
Authentication object with Keycloak authentication tokens.
- Return type
elg.Authentication
- create(scope: str = 'openid')¶
Method to create Keycloak authentication tokens.
- Parameters
scope (str, optional) – scope to use when requesting tokens. Can be set to “openid” or “offline_access” to get offline tokens. Defaults to “openid”.
- refresh()¶
Method to refresh to access_token using the refresh_token.
- Raises
AuthenticationException – There is no refresh_token to refresh the access_token.
- refresh_if_needed()¶
Method that call the refresh method only if needed, i.e. the access_token is expired.
- Raises
RefreshTokenExpirationException – The refresh_token is expired.
- to_json(filename: str)¶
Save the Keycloak authentication tokens to a json file.
- Parameters
filename (str) – name of the json file.
- class elg.authentication.NeedAuthentication¶
Parent class for class which needs authentication. Provide useful methods
- elg.authentication.need_authentication()¶
Decorator for methods to refresh to authentication tokens before calling the method