Support for RFC 9207 (Authorization Response Issuer Identification) #243
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.
I would like to volunteer to do my bit of editing on the Solid-OIDC specification, starting with this proposal.
I have a implemented solid-oidc-client-browser, and following up the discussion in #221, I would like to propose adding the there outlined mechanism of [RFC9207], in accordance with the Current Best Practice [RFC9700].
[RFC9207] prevents Mix-up Attacks by requiring the Identity Provider to return an
issparameter alongside the authorization code. This allows the client to verify that the response originated from the intended provider, which is particularly critical in the decentralized environment that Solid facilitates where clients often interact with multiple, dynamic OPs discovered via WebIDs.Requirement for RFC 9207
Current Best Practice [RFC9700] declare defense against mix-up attacks REQUIRED if a client may interact with multiple Authorization Servers (i.e., Identity Providers in our case). To do so, they recommend either supporting [RFC9207] or choosing an alternative.
In Solid-OIDC
Therefore, supporting [RFC9207] is a requirement.
Implementation Experience
Supporting [RFC9207] in the client library was straight forward and required only a few lines of code. See also uvdsl/solid-oidc-client-browser#12 on the server-support of [RFC9207]:
Already supported by
Close to support
Status unkown