Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Require typ in request objects #355

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open

Require typ in request objects #355

wants to merge 2 commits into from

Conversation

jogu
Copy link
Collaborator

@jogu jogu commented Nov 30, 2024

closes #268

@jogu jogu force-pushed the typ-in-request-obj branch from dc190ff to d263e13 Compare November 30, 2024 19:48
Copy link
Collaborator

@Sakurann Sakurann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is a text from RFC9101, which is much more relaxed than the current PR text. I understand that mandating oauth-authz-req+jwt helps with the interop, but I think we need to discuss implications on the implementations. For example, I am aware of the implementations that use jwt as a typ value.

Another way to prevent cross-JWT confusion is to use explicit typing, as described in Section 3.11 of [RFC8725]. One would explicitly type a Request Object by including a typ Header Parameter with the value oauth-authz-req+jwt (which is registered in Section 9.4.1). Note, however, that requiring explicitly typed Request Objects at existing authorization servers will break most existing deployments, as existing clients are already commonly using untyped Request Objects, especially with OpenID Connect [OpenID.Core]. However, requiring explicit typing would be a good idea for new OAuth deployment profiles where compatibility with existing deployments is not a consideration

@jogu
Copy link
Collaborator Author

jogu commented Dec 3, 2024

That text in RFC9101 was there to not breaking existing OpenID Connect implementations (from what I remember the OAuth WG weren't keen to allow that exception) - as I mentioned on the issue no one can use an existing OpenID Connect implementation to request credentials, and we already have other breaking changes happening (E.g. around DCQL) there doesn't seem to be any large issue with following the JWT BCP and doing explicit required typing, and hence requiring implementations to update.

Co-authored-by: Paul Bastian <paul.bastian@posteo.de>
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.

Require JAR typ value to be used in request objects
3 participants