Configuration OptionsΒΆ
Many of the configuration options can be set using environment variables (or a .env file).
This section describes the overall configuration object and it's (nested) options, defined in:
- fastapi_aad_auth.config.Config[source]
- Options:
<Config>.enabled(bool) : Enable authentication [default:True] (Can be set byFASTAPI_AUTH_ENABLEDenvironment variable)<Config>.user_klass(type) : User class to use within the AADOAuthBackend, this will be treated as an import path if provided as a string, with the last part the class to load [default:fastapi_aad_auth._base.state.User] (Can be set byFASTAPI_AUTH_USER_KLASSenvironment variable)
<Config>.aad:<Config>.aad.flow_type(fastapi_aad_auth._base.validators.token.OAuthFlowType) : Select the OpenAPI OAuth2 flow [default:OAuthFlowType.authorizationCode] (Can be set byFASTAPI_AUTH_OPENAPI_OAUTH2_FLOWenvironment variable)<Config>.aad.token_scopes(dict) : Set the (global) token scopes (Can be set byFASTAPI_AUTH_TOKEN_SCOPESenvironment variable)<Config>.aad.client_id(pydantic.types.SecretStr) : Application Registration Client ID (Can be set byAAD_CLIENT_IDenvironment variable)<Config>.aad.tenant_id(pydantic.types.SecretStr) : Application Registration Tenant ID (Can be set byAAD_TENANT_IDenvironment variable)<Config>.aad.client_secret(pydantic.types.SecretStr) : Application Registration Client Secret (if required) (Can be set byAAD_CLIENT_SECRETenvironment variable)<Config>.aad.scopes(list) : Additional scopes requested - if the scope is not configured to the application this will throw an error when validating the token<Config>.aad.client_app_ids(list) : Additional Client App IDs to accept tokens from (when running as a backend service) (Can be set byAAD_CLIENT_APP_IDSenvironment variable)<Config>.aad.strict(bool) : Check that all claims are provided [default:True] (Can be set byAAD_STRICT_CLAIM_CHECKenvironment variable)<Config>.aad.api_audience(str) : Corresponds to the Application ID URI - used for token validation, defaults to api://{client_id} (Can be set byAAD_API_AUDIENCEenvironment variable)<Config>.aad.redirect_uri(pydantic.networks.HttpUrl) : The redirect URI to use - overwrites the default path handling etc (Can be set byAAD_REDIRECT_URIenvironment variable)<Config>.aad.prompt(str) : AAD prompt to request (Can be set byAAD_PROMPTenvironment variable)<Config>.aad.domain_hint(str) : AAD domain hint (Can be set byAAD_DOMAIN_HINTenvironment variable)<Config>.aad.roles(list) : AAD roles required in claims (Can be set byAAD_ROLESenvironment variable)<Config>.aad.token_type(fastapi_aad_auth.providers.aad.TokenType) : The AAD token type to use to validate (we should use the access token if it is configured, unless we are acting as a pure UI component [default:TokenType.access]<Config>.aad.jwks_cache_ttl(int) : Cache Time to Live value for MS JWKs token (Can be set byAAD_JWKS_CACHE_TTLenvironment variable)
<Config>.auth_session:<Config>.auth_session.secret(pydantic.types.SecretStr) : Secret used for encoding authentication information (Can be set bySESSION_AUTH_SECRETenvironment variable)<Config>.auth_session.salt(pydantic.types.SecretStr) : Salt used for encoding authentication information (Can be set bySESSION_AUTH_SALTenvironment variable)
<Config>.login_ui:<Config>.login_ui.app_name(str) : Application name to show on the Login UI page (Can be set byAPP_NAMEenvironment variable)<Config>.login_ui.template_file(pydantic.types.FilePath) : The jinja2 template to use for the login screen [default:fastapi_aad_auth\ui\login.html] (Can be set byFASTAPI_AUTH_LOGIN_TEMPLATE_FILEenvironment variable)<Config>.login_ui.error_template_file(pydantic.types.FilePath) : The jinja2 template to use for error information [default:fastapi_aad_auth\ui\error.html] (Can be set byFASTAPI_AUTH_LOGIN_ERROR_TEMPLATE_FILEenvironment variable)<Config>.login_ui.user_template_file(pydantic.types.FilePath) : The jinja2 template to use for the user view [default:fastapi_aad_auth\ui\user.html] (Can be set byFASTAPI_AUTH_USER_TEMPLATE_FILEenvironment variable)<Config>.login_ui.static_directory(pydantic.types.DirectoryPath) : Static path for the UI components [default:fastapi_aad_auth\ui\static] (Can be set byFASTAPI_AUTH_LOGIN_STATIC_DIRenvironment variable)<Config>.login_ui.static_path(str) : Path to mount the login static dir in [default:/static-login] (Can be set byFASTAPI_AUTH_LOGIN_STATIC_PATHenvironment variable)<Config>.login_ui.context(dict) : Any additional context variables required for the template<Config>.login_ui.ui_klass(type) : UI class to use to handle creating and returning the routes for the login, error and user screens, this will be treated as an import path if provided as a string, with the last part the class to load [default:fastapi_aad_auth.ui:UI] (Can be set byFASTAPI_AUTH_UI_KLASSenvironment variable)
<Config>.providers:List of auth provider classes to use (defaults to AAD)
<Config>.routing:<Config>.routing.login_path(str) : Path for initiating the AAD oauth call Field will be deprecated in version 0.2.0, and is replaced by Routing.oauth_base_route - To access the new behaviour, set this value to None or an empty string [default:/login/oauth] (Can be set byFASTAPI_AUTH_LOGIN_ROUTEenvironment variable)<Config>.routing.login_redirect_path(str) : Path for handling the AAD redirect call Field will be deprecated in version 0.2.0, and is replaced by Routing.oauth_base_route - To access the new behaviour, set this value to None or an empty string [default:/login/oauth/redirect] (Can be set byFASTAPI_AUTH_LOGIN_REDIRECT_ROUTEenvironment variable)<Config>.routing.oauth_base_route(str) : Base Path for initiating the oauth calls [default:/oauth] (Can be set byFASTAPI_OAUTH_BASE_ROUTEenvironment variable)<Config>.routing.logout_path(str) : Path for processing a logout request [default:/logout] (Can be set byFASTAPI_AUTH_LOGOUT_ROUTEenvironment variable)<Config>.routing.landing_path(str) : Path for the login UI page [default:/login] (Can be set byFASTAPI_AUTH_LOGIN_UI_ROUTEenvironment variable)<Config>.routing.user_path(str) : Path for getting the user view [default:/me] (Can be set byFASTAPI_AUTH_USER_ROUTEenvironment variable)<Config>.routing.home_path(str) : Path for the application home page (default redirect if none provided) [default:/] (Can be set byAPP_HOME_ROUTEenvironment variable)<Config>.routing.post_logout_path(str) : Path for the redirect post logout - defaults to the landing path if not provided (Can be set byFASTAPI_AUTH_POST_LOGOUT_ROUTEenvironment variable)
<Config>.session:<Config>.session.secret_key(pydantic.types.SecretStr) : Secret used for the session middleware (Can be set bySESSION_SECRETenvironment variable)<Config>.session.session_cookie(str) : Cookie name for the session information [default:session] (Can be set bySESSION_COOKIEenvironment variable)<Config>.session.same_site(str) : Cookie validation mode for the session [default:lax] (Can be set bySESSION_SAME_SITEenvironment variable)<Config>.session.https_only(bool) : Allow the sessions only with https connections (Can be set bySESSION_HTTPS_ONLYenvironment variable)<Config>.session.max_age(int) : Maximum age for a session [default:86400] (Can be set bySESSION_MAX_AGEenvironment variable)