symphony.bdk.core.auth.ext_app_authenticator.ExtensionAppAuthenticatorRsa#
- class symphony.bdk.core.auth.ext_app_authenticator.ExtensionAppAuthenticatorRsa(authentication_api: symphony.bdk.gen.login_api.authentication_api.AuthenticationApi, pod_api: symphony.bdk.gen.pod_api.pod_api.PodApi, app_id: str, private_key_config: symphony.bdk.core.config.model.bdk_rsa_key_config.BdkRsaKeyConfig, retry_config: symphony.bdk.core.config.model.bdk_retry_config.BdkRetryConfig, tokens_repository: Optional[symphony.bdk.core.auth.tokens_repository.TokensRepository] = None)#
Bases:
symphony.bdk.core.auth.ext_app_authenticator.ExtensionAppAuthenticator
A subclass of
ExtensionAppAuthenticator
specific to extension app RSA authentication.- __init__(authentication_api: symphony.bdk.gen.login_api.authentication_api.AuthenticationApi, pod_api: symphony.bdk.gen.pod_api.pod_api.PodApi, app_id: str, private_key_config: symphony.bdk.core.config.model.bdk_rsa_key_config.BdkRsaKeyConfig, retry_config: symphony.bdk.core.config.model.bdk_retry_config.BdkRetryConfig, tokens_repository: Optional[symphony.bdk.core.auth.tokens_repository.TokensRepository] = None)#
- Parameters
authentication_api – the AuthenticationApi instance
pod_api – the PodApi instance
app_id – the application ID
private_key_config – the private key configuration of the extension app
retry_config – retry configuration
tokens_repository – the tokens repository to store existing valid sessions. Defaults to InMemoryTokensRepository
Methods
__init__
(authentication_api, pod_api, ...[, ...])- param authentication_api
the AuthenticationApi instance
authenticate_and_retrieve_tokens
(app_token)Actually authenticates and retrieves the tokens.
authenticate_extension_app
(app_token)Authenticates an extension app.
is_token_pair_valid
(app_token, symphony_token)Validates if appToken and symphonyToken corresponds to an existing session.
validate_jwt
(jwt)Validates a jwt against the pod certificate.
- async authenticate_and_retrieve_tokens(app_token: str) symphony.bdk.gen.login_model.extension_app_tokens.ExtensionAppTokens #
Actually authenticates and retrieves the tokens. Save the tokens in the tokens repository.
- Parameters
app_token – the token generated by the application backend
- Returns
the extension app tokens
- async authenticate_extension_app(app_token: str) symphony.bdk.core.auth.auth_session.AppAuthSession #
Authenticates an extension app.
- Parameters
app_token – the token generated by the application backend
- Returns
the extension app authentication session
- async is_token_pair_valid(app_token: str, symphony_token: str) bool #
Validates if appToken and symphonyToken corresponds to an existing session.
- Parameters
app_token – the application token
symphony_token – the Symphony token
- Returns
True if token pair is valid, False otherwise
- async validate_jwt(jwt: str) dict #
Validates a jwt against the pod certificate.
- Parameters
jwt – the jwt to be validated
- Returns
the dictionary of jwt claims
- Raises
AuthInitializationError – If the pod certificate or jwt are invalid.