Skip to content

Conversation

@pat-s
Copy link

@pat-s pat-s commented Dec 21, 2025

fix #246

Enables identity providers that require separate OIDC clients per application type (like Authentik, Kanidm, Zitadel) to work with the desktop client.

  • Discover desktop-specific OIDC issuer via WebFinger (http://openid.net/specs/connect/1.0/issuer/desktop)
  • Use server-provided client_id from WebFinger link properties when available
  • Persist and restore client_id across re-authentication

Server-side changes

To work, this PR requires changes in https://github.com/opencloud-eu/opencloud.
A complementary PR is available at opencloud-eu/opencloud#2072.

Additionally, the following env vars must be set on the admin side:

WEBFINGER_OIDC_ISSUER_DESKTOP: <>
WEBFINGER_OIDC_CLIENT_ID_DESKTOP: <>

Here, WEBFINGER_OIDC_ISSUER_DESKTOP is usually the root URL of the identity provider and WEBFINGER_OIDC_CLIENT_ID_DESKTOP contains the client_id of the respective oAuth project.


With these changes, I was able to login into the Desktop app with a dedicated oAuth project through Zitadel (v4.7.0). The implementation should be generic and work with other oAuth providers as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support different OIDC issuer for desktop

1 participant