linkahead.connection.authentication.interface module
This module provides the interfaces for authenticating requests to the LinkAhead server.
Implementing modules must provide a get_authentication_provider() method.
- class linkahead.connection.authentication.interface.AbstractAuthenticator
Bases:
ABC
AbstractAuthenticator.
Interface for different authentication mechanisms. e.g. username/password authentication or SSH key authentication.
- logger
A logger which should be used for all logging which has to do with authentication.
- Type:
Logger
- login(abstract)
- logout(abstract)
- configure(abstract)
- on_request()
- on_response()
- abstract configure(**config)
configure.
Configure this authenticator.
- Parameters:
**config – Keyword arguments for the configuration.
- Return type:
None
- abstract login()
login.
To be implemented by the child classes.
- Return type:
None
- abstract logout()
logout.
To be implemented by the child classes.
- Return type:
None
- on_request(method: str, path: str, headers: QueryDict, **kwargs)
on_request.
A call-back which is to be called by the connection before each request. This method set the auth cookie for that request.
- on_response(response: CaosDBHTTPResponse)
on_response.
A call-back with is to be called by the connection after each response. This method reads the latest auth cookie from the response.
- Parameters:
response (CaosDBHTTPResponse) – The response of the server
- class linkahead.connection.authentication.interface.CredentialsAuthenticator(credentials_provider)
Bases:
AbstractAuthenticator
CredentialsAuthenticator.
Subclass of AbstractAuthenticator which provides authentication via credentials (username/password). This class always needs a credentials_provider which provides valid credentials_provider before each login.
- Parameters:
credentials_provider (CredentialsProvider) – The source for the username and the password.
- login()
- logout()
- configure()
- configure(**config)
configure.
Configure this authenticator.
- Parameters:
**config – Keyword arguments for the configuration.
- Return type:
None
- login()
login.
To be implemented by the child classes.
- Return type:
None
- logout()
logout.
To be implemented by the child classes.
- Return type:
None
- class linkahead.connection.authentication.interface.CredentialsProvider
Bases:
ABC
CredentialsProvider.
An abstract class for username/password authentication.
- password(abstract)
- username(abstract)
- logger
A logger which should be used for all logging which has to do with the provision of credentials. This is usually just the “authentication” logger.
- Type:
Logger
- configure(abstract)
- abstract configure(**config)
configure.
Configure the credentials provider with a dict.
- Parameters:
**config – Keyword arguments. The relevant arguments depend on the implementing subclass of this class.
- Return type:
None
- abstract property password
password.
- abstract property username
username.