Grant Management - #23
Conversation
|
Hello @guymoyo , |
62ae006 to
a6f786e
Compare
|
Hi @tnorimat, I made some changes. I added the possibility to select 'grant_id_supported' in the admin UI, also I changed the logic of this grant flow, IMO I think it makes more sense to go with 'RequiredActionProvider', WDYT? There is some cross logic with the RAR, you will see that as comments in code. |
|
Hello @guymoyo , As you've proposed, it is good to use Required Action instead of coding onto login service flow. One point I would like to notice is as follows. As discussed previously, to implement newly introduced User Grant, the following relationship is assumed. The current keycloak's Consent has the following relationship. Therefore, the following relationship is newly introduced. I'm afraid that what you want to do by Grant Management is achieved under this relationship. |
|
Hello @tnorimat, I would like to try this: grant representation ` { if we delete a consent, all grants with that consent will be deleted. When creating the grant, if there is not yet consent between that Client and that User, it will be created implicitly. |
|
Hello @guymoyo , Thank you for your clarification. |
|
TODO:
Hi @tnorimat, here some tasks that I will continue working on, please feel free to add anything pertinent. |
# Conflicts: # core/src/main/java/org/keycloak/protocol/oidc/representations/OIDCConfigurationRepresentation.java # core/src/main/java/org/keycloak/representations/AccessTokenResponse.java # core/src/main/java/org/keycloak/representations/idm/RealmRepresentation.java # model/jpa/src/main/resources/META-INF/jpa-changelog-13.0.0.xml # server-spi-private/src/main/java/org/keycloak/events/Errors.java # server-spi-private/src/main/java/org/keycloak/models/utils/RepresentationToModel.java # server-spi/src/main/java/org/keycloak/models/UserModel.java # services/src/main/java/org/keycloak/protocol/oidc/OIDCConfigAttributes.java # services/src/main/java/org/keycloak/protocol/oidc/OIDCLoginProtocol.java # services/src/main/java/org/keycloak/protocol/oidc/OIDCWellKnownProvider.java # services/src/main/java/org/keycloak/protocol/oidc/endpoints/AuthorizationEndpoint.java # services/src/main/resources/META-INF/services/org.keycloak.authentication.RequiredActionFactory
|
Hi @tnorimat, I made some refactoring, can you please check again? |
|
Hello @guymoyo , |
|
@guymoyo I will check them completely, but I have one suggestion at this time. As the same as PAR and CIBA, it might be better for this grant management to be provided as preview feature. WDYT? |
Yes, you're right, I forgot to change. I will change. |
| * | ||
| * @return | ||
| */ | ||
| @Path("query") |
There was a problem hiding this comment.
@tnorimat, the request to query a grant should be something like this
https://as.example.com/grants/TSdqirmAxDa0_-DB_1bASQ
and not
https://as.example.com/grants/query/TSdqirmAxDa0_-DB_1bASQ
but following the CIBA endpoint concept, I have no choice to give a path here.
do you have an idea how can we solve that?
There was a problem hiding this comment.
I'm not sure but does the following work?
@Path("/{grant_id}")
@GET
There was a problem hiding this comment.
I see, I will find other solution.
| * | ||
| * @return | ||
| */ | ||
| @Path("revoke") |
There was a problem hiding this comment.
I'm not sure but does the following work?
@Path("/{grant_id}")
@DELETE
There was a problem hiding this comment.
I see, I will find other solution.
|
Hi @tnorimat, I made the changes but still having this problem with the path of the grant management endpoint. |
|
@guymoyo As I added comments, I will find other solution for the final issue. |
|
Hi @tnorimat, may this help to have a good overview on Relation Grant vs Consent |
|
Hello @guymoyo , Thank you for your reference https://bitbucket.org/openid/fapi/issues/442/grant-vs-consent-confusion , From your implementer's side, is it better to have relationship Consent 1 --- * Grant ? |
Yes from the implementer's side, I think it is better to go in this way and it is actually implemented like that in this branch. but it can be changed if we have another clear relation view. |
test: adding unit tests for flat, structured and recursive disclosure
In the scope of this PR, I would like to show the conception of Grant Management.
Please note, it's not totally complete. If the conception is correct (I will go on then), if there are some advice or propositions - feel free to comment. Thank you!
Draft design: keycloak/keycloak-community#265
spec: https://openid.net/specs/fapi-grant-management-01.html