Skip to main content

OAuth settings

The settings below are configured on the web at Administration > Settings > Authentication. For the steps to register a client application with a provider and turn OAuth on, see Set up OAuth authentication.

SettingTypeDefaultDescription
EnabledbooleanfalseEnable/disable OAuth
issuer_urlURL(required)Required. Self-discovery URL for client (from previous step)
client_idstring(required)Required. Client ID (from previous step)
client_secretstring(required)Required. Client Secret (previous step)
scopestringopenid email profileFull list of scopes to send with the request (space delimited)
id_token_signed_response_algstringRS256The algorithm used to sign the id token (examples: RS256, HS256)
userinfo_signed_response_algstringnoneThe algorithm used to sign the userinfo response (examples: RS256, HS256)
promptstring(empty)Prompt parameter for authorization url (examples: select_account, login, consent)
end_session_endpointURL(empty)Http(s) alternative end session endpoint (logout URI)
Request timeoutstring30,000 (30 seconds)Number of milliseconds to wait for http requests to complete before giving up
Storage Label Claimstringpreferred_usernameClaim mapping for the user's storage label¹
Role Claimstringimmich_roleClaim mapping for the user's role. (should return "user" or "admin")¹
Storage Quota Claimstringimmich_quotaClaim mapping for the user's storage¹
Default Storage Quota (GiB)number0Default quota for user without storage quota claim (empty for unlimited quota)
Button TextstringLogin with OAuthText for the OAuth button on the web
Auto RegisterbooleantrueWhen true, will automatically register a user the first time they sign in
Auto LaunchbooleanfalseWhen true, will skip the login page and automatically start the OAuth login process
Mobile Redirect URI OverrideURL(empty)Http(s) alternative mobile redirect URI
Claim Options [1]

Claim is only used on user creation and not synchronized after that.

Claim options [1]

Claims are only used on user creation and are not synchronized after that.

The Issuer URL should return a valid JSON document, for example:

  • https://accounts.google.com/.well-known/openid-configuration
  • http://localhost:9000/application/o/immich/.well-known/openid-configuration

The .well-known/openid-configuration part of the URL is optional and is added automatically during discovery.