Skip to content

Clarify Request URI response can be unsigned for prefixes requiring unsigned requests - #788

Merged
jogu merged 1 commit into
mainfrom
clarify-unsigned-request-uri-response
Sep 9, 2026
Merged

jogu merged 1 commit into
mainfrom
clarify-unsigned-request-uri-response

Conversation

@jogu

@jogu jogu commented Aug 27, 2026

Copy link
Copy Markdown
Collaborator

The Request URI Response section said the body must be a signed request object, which conflicts with the redirect_uri Client Identifier Prefix rule that requests cannot be signed. Clarify that the request object is signed unless the Client Identifier Prefix in use requires an unsigned request, in which case the JWT uses alg none.

Fixes #756

…nsigned requests

The Request URI Response section said the body must be a signed request
object, which conflicts with the redirect_uri Client Identifier Prefix
rule that requests cannot be signed. Clarify that the request object is
signed unless the Client Identifier Prefix in use requires an unsigned
request, in which case the JWT uses alg none.

Fixes #756

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Sakurann
Sakurann requested review from awoie, c2bo and fkj August 31, 2026 12:49

@paulbastian paulbastian left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'm not sure RFC9101 allows that. There is text saying It MUST also reject the request if the Request Object uses an "alg" value of "none".

@jogu

jogu commented Aug 31, 2026

Copy link
Copy Markdown
Collaborator Author

@paulbastian

I'm not sure RFC9101 allows that. There is text saying It MUST also reject the request if the Request Object uses an "alg" value of "none".

That's in the section where 'require_signed_request_object' is in the client metadata as 'true':

Screenshot 2026-08-31 at 15 36 05

so I don't think applies here. none is generally permitted in RFC9101.

@paulbastian

Copy link
Copy Markdown
Contributor

But the next paragraph says:

   When the value of it as server metadata is "true", then the server
   MUST reject the authorization request from any client that does not
   conform to this specification.  It MUST also reject the request if
   the Request Object uses an "alg" value of "none".  If omitted, the
   default value is "false".

The text isn't a 100% clear if that sentence is conditional to the first sentence.

@fkj

fkj commented Aug 31, 2026

Copy link
Copy Markdown
Member

RFC 9101 also says (in section 10.1, which is Security Considerations):

When sending the Authorization Request Object through the request parameter, it MUST be either signed using JWS [RFC7515] or signed and then encrypted using JWS [RFC7515] and JWE [RFC7516], respectively, with algorithms considered appropriate at the time.

@jogu

jogu commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator Author

This is where we would all like if it RFCs had a nicer errata process :-)

The text isn't a 100% clear if that sentence is conditional to the first sentence.

My reading is:

require_signed_request_object: true => reject alg none
require_signed_request_object: false => accept alg none

If we instead assume alg: none is disallowed in both cases, what would the meanings of require_signed_request_object true/false be?

@c2bo

c2bo commented Sep 2, 2026

Copy link
Copy Markdown
Member

This is where we would all like if it RFCs had a nicer errata process :-)

The text isn't a 100% clear if that sentence is conditional to the first sentence.

My reading is:

require_signed_request_object: true => reject alg none require_signed_request_object: false => accept alg none

If we instead assume alg: none is disallowed in both cases, what would the meanings of require_signed_request_object true/false be?

That is my interpretation as well and if I recall correctly that is also what we ended up with initially when discussing this?

@paulbastian

Copy link
Copy Markdown
Contributor

require_signed_request_object means whether it is required to send authorization request as RFC9101 or whether RFC6749 style is still allowed.

@paulbastian paulbastian left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

After re-reading I'm fine

@jogu
jogu merged commit ef91545 into main Sep 9, 2026
2 checks passed
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.

Clarification on Request URI response

6 participants