simdb.remote.core.auth.keycloak module

class simdb.remote.core.auth.keycloak.KeyCloakAuthenticator[source]

Bases: Authenticator

Name : str = 'KeyCloak'
TOKEN_HEADER_NAME = 'KeyCloak-Token'
authenticate(config: Config, request: Request) User | None[source]

Authenticate the user using parameters passed in the current request - i.e. username/password passed as part of SimpleAuth or a token in the request header.

Additional authentication options can be defined in the configuration specific to the type of authentication being performed - i.e. connection URI for LDAP server.

Parameters:
config: Config

The SimDB configuration object.

request: Request

The Flask request object.

Returns:

A User object if the user successfully authenticates, otherwise None.