-
Notifications
You must be signed in to change notification settings - Fork 375
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
Add support for rich authorization requests #2511
base: master
Are you sure you want to change the base?
Add support for rich authorization requests #2511
Conversation
75f66df
to
f9d06d5
Compare
- Accept 'authorization_details' field in the authorization request. - Persist code and consent authorization details in the database. - Add support for oauth.rar and oauth.rar.common modules. - Read custom implementations of AuthorizationDetailsProvider from SPI. - Display rich authorization details in the consent UI.
f9d06d5
to
c8d568e
Compare
...ndpoint/src/main/java/org/wso2/carbon/identity/oauth/endpoint/authz/OAuth2AuthzEndpoint.java
Outdated
Show resolved
Hide resolved
...ndpoint/src/main/java/org/wso2/carbon/identity/oauth/endpoint/authz/OAuth2AuthzEndpoint.java
Outdated
Show resolved
Hide resolved
....oauth.endpoint/src/main/java/org/wso2/carbon/identity/oauth/endpoint/util/EndpointUtil.java
Outdated
Show resolved
Hide resolved
public int[] addUserConsentedAuthorizationDetails( | ||
final List<AuthorizationDetailsConsentDTO> authorizationDetailsConsentDTOs) throws SQLException { | ||
|
||
try (final Connection connection = IdentityDatabaseUtil.getDBConnection(false); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not apply a transaction here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please check the other places
...auth.rar.common/src/main/java/org/wso2/carbon/identity/oauth2/rar/common/dao/SQLQueries.java
Outdated
Show resolved
Hide resolved
...ndpoint/src/main/java/org/wso2/carbon/identity/oauth/endpoint/authz/OAuth2AuthzEndpoint.java
Show resolved
Hide resolved
Please clearly specify the following:
|
- Accept 'authorization_details' field in the token request - Persist access token authorization details in the database - Moving common logic from oauth.rar.common module to a new rar package within oauth module - Adds RAR support for hybrid authorization flows
47c6ba1
to
87e7c19
Compare
87e7c19
to
dd8f27f
Compare
- Add unit tests - Add 'authorization_details_types_supported' to /.well-known response
8319668
to
faa5e31
Compare
Please take one of the following actions:
Your prompt attention to this matter is greatly appreciated. Thank you for your understanding and collaboration! 🙏 |
2ec1fbf
to
be2070a
Compare
PR builder started |
...r/src/main/java/org/wso2/carbon/identity/oauth2/rar/AuthorizationDetailsSchemaValidator.java
Outdated
Show resolved
Hide resolved
...h.rar/src/main/java/org/wso2/carbon/identity/oauth2/rar/dto/AuthorizationDetailsCodeDTO.java
Show resolved
Hide resolved
PR builder completed |
PR builder started |
PR builder completed |
PR builder started |
PR builder completed |
872cfa8
to
0c03aa3
Compare
PR builder started |
PR builder completed |
@@ -409,6 +410,12 @@ | |||
<artifactId>gson</artifactId> | |||
<version>${com.google.code.gson.version}</version> | |||
</dependency> | |||
<!-- To validate json structures against json schemas like 'draft 2020-12' --> | |||
<dependency> | |||
<groupId>io.vertx</groupId> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SInce this is needed for the osig serveice, ideal practise is to ship the required jar as orbit and use orbit bundles. Let's go on that path.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm using the vert.x dependency to validate JSON schemas against JSON payloads. Currently, there's no built-in library for this in the product, so I’ve opted for this third-party dependency, which is under the Apache 2 license. This dependency is being used in the new org.wso2.carbon.identity.oauth.rar
module. Since this module is a regular JAR and not an OSGi bundle (due to plans to phase out OSGi), via the product-is PR, I’m adding vert.x to the /lib directory, similar to gson, guava, and jackson. I believe we don’t need an orbit dependency for this, but please let me know if you think otherwise
Proposed changes in this pull request
This PR introduces several enhancements and features related to managing
authorization_details
:Related Issues
When should this PR be merged
[Please describe any preconditions that need to be addressed before we
can merge this pull request.]
Follow up actions
[List any possible follow-up actions here; for instance, testing data
migrations, software that we need to install on staging and production
environments.]
Checklist (for reviewing)
General
Functionality
Code
Tests
Security
Documentation