Skip to content
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

Implement Rich Authorization Requests #7

Open
jokk-itu opened this issue Dec 2, 2024 · 0 comments
Open

Implement Rich Authorization Requests #7

jokk-itu opened this issue Dec 2, 2024 · 0 comments
Assignees
Labels
epic large enhancement

Comments

@jokk-itu
Copy link
Owner

jokk-itu commented Dec 2, 2024

Problem

The Rich Authorization Requests specification has not been implemented.

Solution

Implement the specification RAR.

AuthorizationDetail Entity

Create a new AuthorizationDetail entity.
It must have an "Id" and a "Name".
It also contains a many-to-many relation to Client.
It also contains a many-to-many relation to ConsentGrant.

  • Make a new entity that holds the many-to-many with a Value column that holds the JSON structure of the AuthorizationDetail

Dynamic Client Registration

Accept a new parameter "authorization_details_types"
which is a JSON string array containing the types the client is authorized to use.

Discovery metadata

Extend the response with "authorization_details_types_supported",
which is a JSON string array containing the types that a client can use.

Authorize endpoint

Accept a new parameter "authorize_details" which is a JSON array.

Each entry MUST have a "type" field, which is mapped to an AuthorizationDetail.Name entity in the database.

Each entry MUST have a "locations" array field, which is mapped to a Client.ClientUri entity in the database.

Consent is deduced if

  • authorization_details is passed (does not matter what is consented in the past)
  • client requires consent

Token/Introspection endpoint

Extend the access_token with a new claim "authorization_details",
which is 1:1 from the authorize request.

@jokk-itu jokk-itu self-assigned this Dec 2, 2024
@jokk-itu jokk-itu converted this from a draft issue Dec 2, 2024
@jokk-itu jokk-itu added the epic large enhancement label Dec 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
epic large enhancement
Projects
Status: Analysis
Development

No branches or pull requests

1 participant