Skip to content

Relax/track draft changes to RFC7523 client authentication processing #2473

@antonypetras

Description

@antonypetras

Confirm you've already contributed to this project or that you sponsor it

  • I confirm I'm a sponsor or a contributor

Describe the solution you'd like

Hi Kévin,

As you note in the source of OpenIddictServerHandlers.Protection.cs and similar, based on proposed changes to RFC7523:

Client authentication JWTs MUST be explicitly typed by using the typ header parameter value client-authentication+jwt another more specific explicit type value defined by a specification profiling this specification. Client authentication JWTs not using the explicit type value MUST be rejected by the authorization server.

However, I was caught out by this when using the popular JS package openid-client as it does not set any typ header.

I was going to propose this addition to openid-client, but after reviewing the latest version 11 of this draft, they appear to have backpedaled this one to a SHOULD. Further, the text of this version of the draft explains that this explicit typ serves to indicate that the client is operating in accordance with all of the updates incorporated into the standard up until this point, so simply populating this field from the client in order to comply with openiddict may send the wrong signals.

Will you consider revising the behavior of openiddict to maximize compatibility with clients that follow the standard but may be apprehensive about proactively adopting the drafts? Or at least update this to match the latest draft?

I'm happy to take a stab at it if you like.

Cheers,

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions