-
Notifications
You must be signed in to change notification settings - Fork 9
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
Update SSA and Client Registration standards for JARM and Authorization Code Flow #547
Comments
This issue was discussed in the last MI call. The DSB Proposed Solution has been updated as follows:
|
The Data Standard's Chair has approved this issue be treated as urgent in combination with #479. |
Last maintenance iteration call we discussed defining the error scenarios for registration and negotiation when using JARM for the Authorization Code Flow. The following scenarios are presented below with proposed behaviour. If there are any other error scenarios that need to be considered, please propose them in the comments. It's worth providing some context and a set of solution design questions that will help frame the responses to each scenario. ContextOIDC Hybrid FlowThis flow uses Data Holders may continue to support OIDC Hybrid Flow after the 7th of April 2023. If they do so, they need to continue supporting these negotiation parameters and ID Token signing and encryption. Authorization Code FlowThis flow uses The algorithmic requirements are consulted on in Issue 547: Clarification on Minimum Algorithm Required for JARM. Data Holders must support this flow no later than the 7th of April 2023. Solution Questions
Proposed JARM supportIf the Data Holder does not support response encryption they may do so by providing an empty array for the associated parameters or omit them from their OIDD. ADRs should be capable of handling both.
The parameters may be omitted from the OIDD. This is the equivalent of the empty arrays. JARM states that for client metadata
JARM also states that for
In other words, if a value for Client Metadata Negotiation ScenariosThe following scenarios consider incorrect values passed by the ADR during registration of their client with the Data Holder. This may include new registrations as well as updates to existing registrations.
Transition Negotiation Scenarios - Existing ClientThese scenarios consider the transition of the Data Holder supporting OIDC Hybrid Flow, Authorization Code Flow and the retirement of OIDC Hybrid Flow. These scenarios also consider what happens if the Data Holder requires response encryption or retires response encryption. In all of these scenarios there remains a responsibility on the ADR to monitor each Data Holder's OIDD to discover changes that may impact their client registrations. Assumptions:
Invalid Data Holder configurationIf the Data Holder still supports OIDC Hybrid Flow: The Data Holder is in an invalid state. The ADR should not update thier client registration to use ACF because the Data Holder is non-compliant and does not support JARM with Authorization Code Flow. The ADR continues to use their current registration. ADRs creating new client registrations should continue to use OIDC Hybrid Flow with the ID Token acting as the detached signature in accordance with FAPI 1.0 Advanced s5.2.3.1 If the Data Holder does not support OIDC Hybrid Flow: Assuming the Data Holder has dropped support for OIDC Hybrid Flow and advertises they support ACF but doesn't support JARM, the Data Holder is non-compliant. In this scenario, the ADR cannot perform any new authorisation requests successfully. Existing authorisations will continue to work as they only require the exchange of the existing refresh token for a short-lived access token. |
Since "openid" scope is mandatory in request object, shouldn't atleast the "id_token_signed_response_alg" be passed in the DCR call, as the id_token will be returned from token endpoint. |
Clarification for decision write-up please - point 13 seems to indicate id_token encryption is not allowed for ACF. My understanding is that DCR client metadata does not allow the ADR to differentiate id_token encryption for each flow, therefore the standard must support id_token encryption for ACF where the ADR is registered for both Hybrid Flow and ACF. Can you clarify please if id_token encryption is OPTIONAL or NOT ALLOWED for ADRs who register solely for ACF? |
This change request was incorporated through ConsumerDataStandardsAustralia/standards#282 (comment) |
Description
To support Phase 3 FAPI 1.0 migration, update the DCR APIs to specify JARM and Authorization Code Flow support.
Area Affected
Dynamic Client Registration APIs
response_types enumeration
Change Proposed
authorization_signed_response_alg
authorization_encrypted_response_alg
authorization_encrypted_response_enc
DSB Proposed Solution
The DSB proposed solution is presented here.
The text was updated successfully, but these errors were encountered: