Immich + Casdoor

Single sign-on for Immich

Immich supports OAuth sign-in with any OpenID Connect provider, in the browser and in its mobile apps. With Casdoor, family members or colleagues sign in to your photo library with the account they already have.

You need a running Casdoor, self-hosted or on Casdoor Cloud. In the examples, replace https://auth.example.com with your Casdoor address (on Casdoor Cloud, something like https://acme.casdoor.com) and the other example.com addresses with your own.

Set up Immich with Casdoor

  1. 1

    Register Immich in Casdoor

    In the Casdoor console, open Applications, add an application for Immich, and on its OIDC/OAuth tab copy the Client ID and Client secret. Add these redirect URLs to Redirect URLs:

    • https://photos.example.com/auth/login
    • https://photos.example.com/user-settings
    • app.immich:///oauth-callback

    Add the first two for every address you open Immich at; the last one is for the iOS and Android apps.

  2. 2

    Configure OAuth in Immich

    In Immich, open Administration → Settings → OAuth, turn on Login with OAuth and fill in:

    Issuer URLhttps://auth.example.com
    Client ID<client ID>
    Client Secret<client secret>
    Scopeopenid email profile
    Storage Label Claimpreferred_username
    Button TextLogin with Casdoor
    Auto RegisterOn
  3. 3

    Sign in

    Save, then open Immich in a private window: the login page has a Login with Casdoor button. Existing users can link their account under Account Settings → OAuth.

Good to know

  • Immich matches OAuth users to existing accounts by email, so give Casdoor users the same email they use in Immich.
  • Auto Launch skips the Immich login page and goes straight to Casdoor.

Immich settings are from its documentation as of October 2026 (Immich OAuth). Immich is a trademark of its owner.

FAQ

Frequently asked questions

Does it work in the Immich mobile app?
Yes, as long as app.immich:///oauth-callback is one of the application's redirect URLs in Casdoor. The app then shows the same OAuth button.
Can Casdoor decide who is an Immich admin?
Immich reads the role from a claim named immich_role by default. Without it, users sign in as regular users and you promote admins in Immich itself.