Skip to content

Commit c461599

Browse files
authored
Merge pull request #142 from oauth-wg/70-register-as-and-client-metadata-for-algorithm-negotiation-of-attestations-and-pops
70 register as and client metadata for algorithm negotiation of attestations and pops
2 parents 11f1b2c + b9672bf commit c461599

File tree

1 file changed

+24
-2
lines changed

1 file changed

+24
-2
lines changed

draft-ietf-oauth-attestation-based-client-auth.md

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -526,6 +526,12 @@ Upon receiving a Client Attestation, the receiving server MUST ensure the follow
526526

527527
# Implementation Considerations
528528

529+
## Authorization Server Metadata
530+
531+
The Authorization Server SHOULD communicate support and requirement for authentication with Attestation-Based Client Authentication by using the value `attest_jwt_client_auth` in the `token_endpoint_auth_methods_supported` within its published metadata. The client SHOULD fetch and parse the Authorization Server metadata and recognize Attestation-Based Client Authentication as a client authentication mechanism if the given parameters are present.
532+
533+
The Authorization Server SHOULD communicate supported algorithms for client attestations by using `client_attestation_signing_alg_values_supported` and `client_attestation_pop_signing_alg_values_supported` within its published metadata. This enables the client to validate that its client attestation is understood by the Authorization Server prior to authentication. The client MAY try to get a new client attestation with different algorithms. The Authorization Server MUST include `client_attestation_signing_alg_values_supported` and `client_attestation_pop_signing_alg_values_supported` in its published metadata if the `token_endpoint_auth_methods_supported` includes `attest_jwt_client_auth`.
534+
529535
## Reuse of a Client Attestation JWT
530536

531537
Implementers should be aware that the design of this authentication mechanism deliberately allows for a Client Instance to re-use a single Client Attestation JWT in multiple interactions/requests with an Authorization Server, whilst producing a fresh Client Attestation PoP JWT. Client deployments should consider this when determining the validity period for issued Client Attestation JWTs as this ultimately controls how long a Client Instance can re-use a single Client Attestation JWT.
@@ -599,7 +605,7 @@ This specification requests registration of the following values in the IANA "OA
599605
* Usage Location: token error response, resource access error response
600606
* Protocol Extension: OAuth 2.0 Attestation-Based Client Authentication
601607
* Change Controller: IETF
602-
* Reference: this specification
608+
* Reference: [](#checking-http-requests-with-client-attestations) of this specification
603609

604610
* Name: use_fresh_attestation
605611
* Usage Location: token error response, resource access error response
@@ -611,6 +617,20 @@ This specification requests registration of the following values in the IANA "OA
611617
* Usage Location: token error response, resource access error response
612618
* Protocol Extension: OAuth 2.0 Attestation-Based Client Authentication
613619
* Change Controller: IETF
620+
* Reference: [](#checking-http-requests-with-client-attestations) of this specification
621+
622+
## OAuth Authorization Server Metadata Registration
623+
624+
This specification requests registration of the following values in the IANA "OAuth Authorization Server Metadata" registry of {{IANA.OAuth.Params}} established by {{RFC8414}}.
625+
626+
* Metadata Name: client_attestation_signing_alg_values_supported
627+
* Metadata Description: JSON array containing a list of the JWS signing algorithms supported by the authorization server for the signature on the Client Attestation JWT.
628+
* Change Controller: IETF
629+
* Reference: [](#checking-http-requests-with-client-attestations) of this specification
630+
631+
* Metadata Name: client_attestation_pop_signing_alg_values_supported
632+
* Metadata Description: JSON array containing a list of the JWS signing algorithms supported by the authorization server for the signature on the Client Attestation PoP JWT.
633+
* Change Controller: IETF
614634
* Reference: this specification
615635

616636
## Registration of attest_jwt_client_auth Token Endpoint Authentication Method
@@ -635,7 +655,7 @@ This section requests registration of the following scheme in the "Hypertext Tra
635655
* Reference: [](#headers) of this specification
636656

637657
<br/>
638-
658+
add implementation consideration for Authorization Server Metadata
639659
* Field Name: OAuth-Client-Attestation-Challenge
640660
* Status: permanent
641661
* Reference: [](#challenge-retrieval) of this specification
@@ -648,6 +668,8 @@ This section requests registration of the following scheme in the "Hypertext Tra
648668
* remove restrictions to not allow MAC-based algorithms
649669
* require `iat` in Client Attestation PoP JWT
650670
* clarify `use_attestation_challenge` and add `invalid_client_attestation`
671+
* add `client_attestation_signing_alg_values_supported` and `client_attestation_pop_signing_alg_values_supported` to IANA registration
672+
* add implementation consideration for Authorization Server Metadata
651673
* clarify refresh token binding
652674
* check client_id at PAR endpoint
653675
* added `use_fresh_attestation` as an error to signal that the attestation was not deemed fresh enough by the server

0 commit comments

Comments
 (0)