feat(oauth): support desktop-specific OIDC issuer and client_id discovery
#766
+128
−15
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
fix #246
Enables identity providers that require separate OIDC clients per application type (like Authentik, Kanidm, Zitadel) to work with the desktop client.
http://openid.net/specs/connect/1.0/issuer/desktop)client_idfrom WebFinger link properties when availableclient_idacross re-authenticationServer-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:
Here,
WEBFINGER_OIDC_ISSUER_DESKTOPis usually the root URL of the identity provider andWEBFINGER_OIDC_CLIENT_ID_DESKTOPcontains theclient_idof 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.