adr: Document OIDC client parameter discovery#2253
Open
rhafer wants to merge 1 commit intoopencloud-eu:mainfrom
Open
adr: Document OIDC client parameter discovery#2253rhafer wants to merge 1 commit intoopencloud-eu:mainfrom
rhafer wants to merge 1 commit intoopencloud-eu:mainfrom
Conversation
Contributor
|
lgtm |
kulmann
reviewed
Feb 12, 2026
|
|
||
| - Authentik basically creates a different issuer URL for each client. As OpenCloud | ||
| can only work with a single issuer URL, all OpenCloud clients need to use the | ||
| same client id to work with Authetnik. |
Member
There was a problem hiding this comment.
Suggested change
| same client id to work with Authetnik. | |
| same client id to work with Authentik. |
| ## Decision Drivers | ||
|
|
||
| * Support broader set of IDPs | ||
| * Do required the user got configure anything additional on the client side |
Member
There was a problem hiding this comment.
I don't understand this sentence 🙈
| discovery, enabling clients to query for the correct OIDC `client_id` and | ||
| `scopes` based on their application type (e.g., web, desktop, android, ios). | ||
|
|
||
| This is achieved by allowing and additional `platform` query parameter to be used |
Member
There was a problem hiding this comment.
Suggested change
| This is achieved by allowing and additional `platform` query parameter to be used | |
| This is achieved by allowing an additional `platform` query parameter to be used |
| GET /.well-known/webfinger?resource=https://cloud.opencloud.test&rel=http://openid.net/specs/connect/1.0/issuer&platform=desktop | ||
| ``` | ||
|
|
||
| ### Example Response |
Member
There was a problem hiding this comment.
Suggested change
| ### Example Response | |
| ### Server Response |
| } | ||
| } | ||
| ``` | ||
|
|
Member
There was a problem hiding this comment.
How would the server configuration for this look like? Especially since every platform might differ slightly.
| can only work with a single issuer URL, all OpenCloud clients need to use the | ||
| same client id to work with Authetnik. | ||
| - Some IDPs (kanidm) are not able to work with user-supplied client ids. They generate | ||
| client ids automatically and do not allow to specify them manually. |
Member
There was a problem hiding this comment.
So how does OpenCloud get the information which client id to propagate to e.g. the Android app then?
Member
There was a problem hiding this comment.
This will be a Server configuration variable
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This basically documents what as discussed in #2072 and https://github.com/opencloud-eu/internal/issues/172
I am mainly adding to this to keep a record of why we're doing it and how.
@kulmann To make all clients use the same mechanism for discovering the oidc parameter it would IMO be good if web could switch to as well. However, looking at the other OIDC related parameters that can be configured in web. I have some questions.
WEB_OIDC_METADATA_URL: This allows to set the URL for the.well-known/openid-configurationendpoint. Do we really need that? This should always be the issuer-url as returned in thehttp://openid.net/specs/connect/1.0/issuerrelation +.well-known/openid-configuration. The OIDC spec even define is as aMUST(https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfig).ResponseType: We default tocodehere, have we ever encountered the need to set something else? To we need to have this configurable?PostLogoutRedirectURI: I guess this is really specifc to web? So we should probably keep it in the config.json