...
Shall only issue sender-constrained access tokens using mTLS as described in RFC8705.
Shall ensure that the access token expiry is no longer than 10 minutes.
Shall authenticate the confidential client using
private_key_jwt
;Shall cache clients
jwks_uris
for a maximum period of 20 minutes.Shall support OAuth 2.0 Rich Authorization Requests (RAR) as a method of conveying information about the End User Authorization Request.
Shall only process authorization requests if the
type
specified in theauthorization_details
attribute matches any of the types listed in theauthorization_detail_types
metadata attribute of the Relying Party.Shall use the
query
parameter as the mechanism for returning authorization response parameters as the response mode, which is the default for thecode
response type.Shall advertise support for all signing, authentication mechanisms, and standards required to support this Specification on its OpenID Connect Discovery (
.well-known
) endpoint.Shall support and require signed request objects according to the OAuth JWT-Secured Authorization Request (JAR) [RFC9101] at the PAR endpoint [RFC9126].
Shall require the
aud
claim require the aud claim in the request object to be, or to be an array containing, the client assertion JWT to be a string equal to the OP's Issuer Identifier URL.Shall require the request object to contain an
exp
claim that has a lifetime of no longer than 10 minutes after thenbf
claim and annbf
claim that is not more than 10 minutes in the past.Shall only rely on the parameters included in the signed request object passed via the
request_uri
parameter except for theclient_id
parameter.Shall set the response header
x-fapi-interaction-id
to the value received from the corresponding client request header, or to a RFC4122 UUID if the request header was not provided, to track the interaction.Shall issue
refresh_tokens
with an expiration period set to the same length as the expiration period of the longest consent with which the token can be used. For consents that do not have an expiry period, the authorization server shall issuerefresh_tokens
without an expiration period, or, if not technically achievable, with an expiration period greater than 100 years.Shall enforce that all redirect URIs passed by the Relying Party are pre-registered in the client metadata as provided by the Trust Framework, in accordance with the Registration Framework, and shall reject any requests containing unregistered redirect URIs
Shall advertise mtls_endpoint_alias's including Token Endpoint, Pushed Authorisation Request Endpoint (PAR) and all other endpoints where an authentication credential is presented
Shall honour and enforce all clients to support and utilise mtls endpoints as defined by client metadata use_mtls_endpoints_alias's and follow the orientations defined on RFC8705
Shall validate that the commonName (CN) of the client certificate used for mTLS matches the Software Statement ID obtained on the client registration.
2.2 Client Considerations (Relying Party)
...
Shall support
private_key_jwt
as a token endpoint authentication mechanism (client authentication method).Shall include the
request_uri
parameter in the authorization request as defined in the 6.2 section of OpenID Connect Core specification.Shall send all parameters inside the authorization request's signed request object.
Shall support and require signed request objects according to the OAuth JWT-Secured Authorization Request (JAR) [RFC9101] at the PAR endpoint [RFC9126].
Shall send the
aud
claim in the request object as send the aud claim in the client assertion JWT as a string equal to the OP's Issuer Identifier URL.Shall send an
exp
claim in the request object that has a lifetime of no longer than 10 minutes;Shall send an
nbf
claim in the request object.Shall send the
x-fapi-interaction-id
request header, with its value being a unique RFC4122 UUID for each request, to help correlate log entries between the client and server, e.g:x-fapi-interaction-id: c770aef3-6784-41f7-8e0e-ff5f97bddb3a
.
...