Authentication Plugins#

Multiple authentication plugins can be defined per provider under auth, search_auth, or download_auth provider configuration entries. They are shared across all providers, and can be identified using matching settings matching_url and matching_conf as configuration parameters. Credentials are automatically shared between plugins having the same matching settings. Authentication plugins without matching settings configured will not be shared and will automatically match their provider.

Authentication plugins must inherit the following class and implement authenticate():

class eodag.plugins.authentication.base.Authentication(provider, config)[source]#

Plugins authentication Base plugin

Parameters:
  • provider (str) – provider name

  • config (PluginConfig) –

    Authentication plugin configuration:

    • matching_url (str): URL pattern to match with search plugin endpoint or download link

    • matching_conf (dict[str, Any]): Part of the search or download plugin configuration that needs authentication and helps identifying it

authenticate()[source]#

Authenticate

Return type:

AuthBase | S3SessionKwargs

validate_config_credentials()[source]#

Validate configured credentials

Return type:

None

This table lists all the authentication plugins currently available:

generic.GenericAuth(provider, config)

GenericAuth authentication plugin (authentication using username and password)

token.TokenAuth(provider, config)

TokenAuth authentication plugin - fetches a token which is added to search/download requests.

header.HTTPHeaderAuth(provider, config)

HTTPHeaderAuth Authentication plugin.

aws_auth.AwsAuth(provider, config)

AWS authentication plugin

oauth.OAuth(provider, config)

OAuth authentication plugin

openid_connect.OIDCRefreshTokenBase(...)

OIDC refresh token base class, to be used through specific OIDC flows plugins; Common mechanism to handle refresh token from all OIDC auth plugins;

openid_connect.OIDCAuthorizationCodeFlowAuth(...)

Implement the authorization code flow of the OpenIDConnect authorization specification.

keycloak.KeycloakOIDCPasswordAuth(provider, ...)

Authentication plugin using Keycloak and OpenId Connect.

token_exchange.OIDCTokenExchangeAuth(...)

Token exchange implementation using

qsauth.HttpQueryStringAuth(provider, config)

An Authentication plugin using HTTP query string parameters.

sas_auth.SASAuth(provider, config)

SASAuth authentication plugin