Skip to content

Conversation

@AxelNennker
Copy link
Collaborator

@AxelNennker AxelNennker commented Feb 12, 2024

What type of PR is this?

Add one of the following kinds:

  • documentation

What this PR does / why we need it:

By restricting options the OIDF and IETF standards offer this document improves CAMARA security and interoperability.
The CAMARA Security and Interoperability document follows the path FAPI 2.0 Security took, leading to a concise description which helps implementers focusing on those parts of the standards that are required or recommended.

Which issue(s) this PR fixes:

Fixes #78
Fixes #82
Fixes #87
Fixes #90
Fixes #100
Fixes #104
Fixes #127
Fixes #132
Fixes #133
Fixes #136
Fixes #137

@AxelNennker AxelNennker requested a review from jpengar as a code owner February 12, 2024 18:41
Specify error handling if openid is missing in scope
AxelNennker and others added 4 commits February 16, 2024 12:30
@eric-murray
Copy link
Collaborator

What is the intention for parameters and behaviour that remain optional (whether recommended or only optional)? Is it the intention that an API provider can choose which optional features to support and which not?

Add example to purpose in scope section.
Repeating purpose for each technical scope to avoid proprietary implementation of AZ which would lead to vendor lock-in
Avoid special semantics
@hdamker
Copy link
Collaborator

hdamker commented May 7, 2024

@eric-murray @sfnuser @palmerabollo @izahirclemencia @Elisabeth-Ericsson @bigludo7 @sebdewet Sorry for spamming, but as the GitHub messages about my "requested review" and "removed request" are looking strange I want shortly confirm that your final reviews are requested now, after we agreed in smaller round today on the "Option 1" as the solution for the purpose topic.

Co-authored-by: Elisabeth-Ericsson <121795930+Elisabeth-Ericsson@users.noreply.github.com>
Co-authored-by: Herbert Damker <52109189+hdamker@users.noreply.github.com>
AxelNennker and others added 2 commits May 8, 2024 16:20
Co-authored-by: Herbert Damker <52109189+hdamker@users.noreply.github.com>
@AxelNennker
Copy link
Collaborator Author

Please review (and approve)

@jpengar jpengar added the v0.2-candidate Custom label for issues that are candidates to be fixed in v0.2 (if needed) label May 8, 2024
Copy link
Collaborator

@hdamker hdamker left a comment

Choose a reason for hiding this comment

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

LGTM - thanks for all the discussions and resolutions!

Copy link
Contributor

@sfnuser sfnuser left a comment

Choose a reason for hiding this comment

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

Thanks for driving this effort and getting a closure.

I made one suggestion. Feel free to push it later if an editorial PR is planned.


### Outlook on purpose-handling leveraging Rich Authorization Request

[RFC 9396 OAuth 2.0 Rich Authorization Requests](https://www.rfc-editor.org/rfc/rfc9396) defines a OAuth2 parameter `authorization_details` that is used to carry fine-grained authorization data. The parameter `authorization_details` can be used in all places where OAuth2 allows the `scope` parameter. That means that the parameter `authorization_details` can be used in all places where OIDC and CIBA allow the `scope` parameter.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
[RFC 9396 OAuth 2.0 Rich Authorization Requests](https://www.rfc-editor.org/rfc/rfc9396) defines a OAuth2 parameter `authorization_details` that is used to carry fine-grained authorization data. The parameter `authorization_details` can be used in all places where OAuth2 allows the `scope` parameter. That means that the parameter `authorization_details` can be used in all places where OIDC and CIBA allow the `scope` parameter.
[RFC 9396 OAuth 2.0 Rich Authorization Requests](https://www.rfc-editor.org/rfc/rfc9396) defines a OAuth2 parameter `authorization_details` that is used to carry fine-grained authorization data. The parameter `authorization_details` can be used in all places where OAuth2 allows the `scope` parameter. That means that the parameter `authorization_details` can be used in all places where OIDC or OAuth2 allow the `scope` parameter.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

RAR says that authorization_details can be used in all places scope can be used. RAR does not mention CIBA.
But, yes, we can mention CIBA here.

Copy link
Collaborator

@hdamker hdamker May 10, 2024

Choose a reason for hiding this comment

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

@AxelNennker the suggestion is to replace "OIDC and CIBA" by "OIDC or OAuth2", so NOT to mention CIBA. The suggestion makes sense for me, but I propose to do it in a later editorial PR. No need to dismiss the already done approvals for that.

Copy link
Collaborator

@jpengar jpengar left a comment

Choose a reason for hiding this comment

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

LGTM - thank you all for your valuable contributions.

Copy link
Contributor

@Elisabeth-Mueller Elisabeth-Mueller left a comment

Choose a reason for hiding this comment

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

/LGTM

If "openid" is missing in the scope value but a claim that is [standardized in OIDC](https://openid.net/specs/openid-connect-core-1_0.html#Claims) is requested, then the Authorization Server returns an HTTP response code of 400 (Bad Request) and an error invalid_request.

Clients SHOULD follow the OIDC standard and SHOULD include `openid` in the list of requested scopes.
Without id token there is no `sub` field and the privacy features of OIDC are severely crippled.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Without id token there is no `sub` field and the privacy features of OIDC are severely crippled.
Without id token there is no mandatory `sub` field and the privacy features of OIDC are severely crippled.

Please note that the sub field is also there in the access token, but not optional.
From RFC 7519: The "sub" (subject) claim identifies the principal that is the
subject of the JWT. The claims in a JWT are normally statements
about the subject. The subject value MUST either be scoped to be
locally unique in the context of the issuer or be globally unique.
The processing of this claim is generally application specific. The
"sub" value is a case-sensitive string containing a StringOrURI
value. Use of this claim is OPTIONAL.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

v0.2-candidate Custom label for issues that are candidates to be fixed in v0.2 (if needed)

Projects

None yet