-
Notifications
You must be signed in to change notification settings - Fork 3
Add support for credential_response_encryption in credential request #53
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
base: main
Are you sure you want to change the base?
Conversation
Ready to be reviewed. |
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 added a few comments. Please could you check?
services/src/main/java/org/keycloak/protocol/oid4vc/issuance/OID4VCIssuerEndpoint.java
Outdated
Show resolved
Hide resolved
services/src/main/java/org/keycloak/protocol/oid4vc/issuance/OID4VCIssuerEndpoint.java
Outdated
Show resolved
Hide resolved
services/src/main/java/org/keycloak/protocol/oid4vc/issuance/OID4VCIssuerEndpoint.java
Outdated
Show resolved
Hide resolved
services/src/main/java/org/keycloak/protocol/oid4vc/issuance/OID4VCIssuerEndpoint.java
Outdated
Show resolved
Hide resolved
services/src/main/java/org/keycloak/protocol/oid4vc/issuance/OID4VCIssuerEndpoint.java
Outdated
Show resolved
Hide resolved
...rc/test/java/org/keycloak/testsuite/oid4vc/issuance/signing/OID4VCJWTIssuerEndpointTest.java
Outdated
Show resolved
Hide resolved
...rc/test/java/org/keycloak/testsuite/oid4vc/issuance/signing/OID4VCJWTIssuerEndpointTest.java
Outdated
Show resolved
Hide resolved
...rc/test/java/org/keycloak/testsuite/oid4vc/issuance/signing/OID4VCJWTIssuerEndpointTest.java
Outdated
Show resolved
Hide resolved
...rc/test/java/org/keycloak/testsuite/oid4vc/issuance/signing/OID4VCJWTIssuerEndpointTest.java
Outdated
Show resolved
Hide resolved
...rc/test/java/org/keycloak/testsuite/oid4vc/issuance/signing/OID4VCJWTIssuerEndpointTest.java
Outdated
Show resolved
Hide resolved
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.
Left a few comments for you to check out
services/src/main/java/org/keycloak/protocol/oid4vc/model/CredentialResponseEncryption.java
Show resolved
Hide resolved
services/src/main/java/org/keycloak/protocol/oid4vc/model/CredentialResponse.java
Outdated
Show resolved
Hide resolved
services/src/main/java/org/keycloak/protocol/oid4vc/model/CredentialRequest.java
Show resolved
Hide resolved
services/src/main/java/org/keycloak/protocol/oid4vc/issuance/OID4VCIssuerWellKnownProvider.java
Outdated
Show resolved
Hide resolved
services/src/main/java/org/keycloak/protocol/oid4vc/issuance/OID4VCIssuerWellKnownProvider.java
Outdated
Show resolved
Hide resolved
services/src/main/java/org/keycloak/protocol/oid4vc/issuance/OID4VCIssuerEndpoint.java
Show resolved
Hide resolved
services/src/main/java/org/keycloak/protocol/oid4vc/issuance/OID4VCIssuerEndpoint.java
Outdated
Show resolved
Hide resolved
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.
Nothing much relevant to add to what the other said. Keep these points in mind:
- Strict input validation for all encryption parameters – no socks with sandals allowed.
- Encryption must be clearly configurable and documented, simple enough for everyone to understand and use.
- Log debugging info responsibly; sensitive data (keys, credentials) results in can be skipped or strip (like
se***
)
services/src/main/java/org/keycloak/protocol/oid4vc/issuance/OID4VCIssuerWellKnownProvider.java
Outdated
Show resolved
Hide resolved
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.
Left a few minor comments for you to revisit. Please check
services/src/main/java/org/keycloak/protocol/oid4vc/issuance/OID4VCIssuerEndpoint.java
Outdated
Show resolved
Hide resolved
services/src/main/java/org/keycloak/protocol/oid4vc/issuance/OID4VCIssuerEndpoint.java
Outdated
Show resolved
Hide resolved
services/src/main/java/org/keycloak/protocol/oid4vc/model/CredentialResponseEncryption.java
Outdated
Show resolved
Hide resolved
...s/src/main/java/org/keycloak/protocol/oid4vc/model/CredentialResponseEncryptionMetadata.java
Outdated
Show resolved
Hide resolved
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.
Good work. one last change please:
services/src/main/java/org/keycloak/protocol/oid4vc/issuance/OID4VCIssuerEndpoint.java
Outdated
Show resolved
Hide resolved
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 acknowledge a great progress. Just a few more comments. Please, could you check?
services/src/main/java/org/keycloak/protocol/oid4vc/issuance/OID4VCIssuerEndpoint.java
Outdated
Show resolved
Hide resolved
services/src/main/java/org/keycloak/protocol/oid4vc/issuance/OID4VCIssuerEndpoint.java
Outdated
Show resolved
Hide resolved
services/src/main/java/org/keycloak/protocol/oid4vc/issuance/OID4VCIssuerWellKnownProvider.java
Outdated
Show resolved
Hide resolved
services/src/main/java/org/keycloak/protocol/oid4vc/issuance/OID4VCIssuerWellKnownProvider.java
Outdated
Show resolved
Hide resolved
services/src/main/java/org/keycloak/protocol/oid4vc/issuance/OID4VCIssuerWellKnownProvider.java
Outdated
Show resolved
Hide resolved
...t/java/org/keycloak/testsuite/oid4vc/issuance/signing/OID4VCIssuerWellKnownProviderTest.java
Outdated
Show resolved
Hide resolved
...rc/test/java/org/keycloak/testsuite/oid4vc/issuance/signing/OID4VCJWTIssuerEndpointTest.java
Outdated
Show resolved
Hide resolved
...rc/test/java/org/keycloak/testsuite/oid4vc/issuance/signing/OID4VCJWTIssuerEndpointTest.java
Outdated
Show resolved
Hide resolved
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.
LGTM
Signed-off-by: Ogenbertrand <[email protected]>
0fc1938
to
1c0a916
Compare
Signed-off-by: Ogenbertrand <[email protected]>
3ca2994
to
039650e
Compare
Signed-off-by: Ogenbertrand <[email protected]>
* Require setting DB kind for additional datasources Closes keycloak#41161 Signed-off-by: Martin Bartoš <[email protected]> * refining build time check for db kind to be tolerant of existing usage Signed-off-by: Steve Hawkins <[email protected]> --------- Signed-off-by: Martin Bartoš <[email protected]> Signed-off-by: Steve Hawkins <[email protected]> Co-authored-by: Steve Hawkins <[email protected]>
Closes keycloak#41488 Co-authored-by: Peter Zaoral <[email protected]> Signed-off-by: Martin Bartoš <[email protected]>
Closes keycloak#41491 Signed-off-by: Martin Bartoš <[email protected]>
…load Ensure that the Users page waits for userProfileProvidersEnabled to be defined before fetching users. This prevents federated users from being listed by default on first load, providing a consistent experience and avoiding confusion when user federation is enabled. Fixes keycloak#41044 Signed-off-by: Freeda Vales <[email protected]>
…eycloak#41490) Closes keycloak#41299 Signed-off-by: Martin Bartoš <[email protected]>
…1364) closes: keycloak#39766 Signed-off-by: Steve Hawkins <[email protected]>
Closes keycloak#41290 Signed-off-by: Alexander Schwartz <[email protected]> Signed-off-by: Alexander Schwartz <[email protected]> Co-authored-by: Pedro Ruivo <[email protected]>
* task: better document property mapping closes: keycloak#40872 Signed-off-by: Steve Hawkins <[email protected]> * Update quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/configuration/mappers/PropertyMapper.java Co-authored-by: Martin Bartoš <[email protected]> Signed-off-by: Steven Hawkins <[email protected]> * further refinements to the property mapping docs Signed-off-by: Steve Hawkins <[email protected]> * Apply suggestions from code review Co-authored-by: Martin Bartoš <[email protected]> Signed-off-by: Steven Hawkins <[email protected]> --------- Signed-off-by: Steve Hawkins <[email protected]> Signed-off-by: Steven Hawkins <[email protected]> Co-authored-by: Martin Bartoš <[email protected]>
Signed-off-by: Jon Koops <[email protected]>
* Make fileChooser platform independent. Fixes keycloak#41474 Signed-off-by: Stan Silvert <[email protected]> * Added node: prefix to imports. Signed-off-by: Stan Silvert <[email protected]> --------- Signed-off-by: Stan Silvert <[email protected]>
* Updated translation for Georgian Language: ka Co-authored-by: Temuri Doghonadze <[email protected]> Signed-off-by: Hosted Weblate <[email protected]> Signed-off-by: Temuri Doghonadze <[email protected]> * Updated translation for Chinese (Traditional Han script) Language: zh_Hant Updated translation for Chinese (Traditional Han script) Language: zh_Hant Updated translation for Chinese (Traditional Han script) Language: zh_Hant Translated using Weblate (Chinese (Traditional Han script)) Translation: Keycloak/Theme base/admin Translate-URL: https://hosted.weblate.org/projects/keycloak/theme-baseadmin/zh_Hant/ Updated translation for Chinese (Traditional Han script) Language: zh_Hant Updated translation for Chinese (Traditional Han script) Language: zh_Hant Updated translation for Chinese (Traditional Han script) Language: zh_Hant Co-authored-by: Hosted Weblate <[email protected]> Co-authored-by: 秉虎 <[email protected]> Co-authored-by: 翁震軒 <[email protected]> Signed-off-by: Hosted Weblate <[email protected]> Signed-off-by: 秉虎 <[email protected]> Signed-off-by: 翁震軒 <[email protected]> --------- Signed-off-by: Hosted Weblate <[email protected]> Signed-off-by: Temuri Doghonadze <[email protected]> Signed-off-by: 秉虎 <[email protected]> Signed-off-by: 翁震軒 <[email protected]> Co-authored-by: Temuri Doghonadze <[email protected]> Co-authored-by: 秉虎 <[email protected]> Co-authored-by: 翁震軒 <[email protected]>
Fixes keycloak#41405 Signed-off-by: Thomas Darimont <[email protected]>
Closes keycloak#26995 Signed-off-by: Oliver Cremerius <[email protected]> Signed-off-by: Alexander Schwartz <[email protected]> Co-authored-by: Alexander Schwartz <[email protected]>
Closes keycloak#41354 Signed-off-by: rmartinc <[email protected]>
Closes keycloak#39079 Signed-off-by: Keshav Deshpande <[email protected]>
Closes keycloak#14644 Signed-off-by: Alexander Schwartz <[email protected]>
Closes keycloak#41551 Signed-off-by: Bjoern Eickvonder <[email protected]>
…int with HEAD method closes keycloak#41537 Signed-off-by: mposolda <[email protected]>
Closes keycloak#41186 Signed-off-by: Martin Bartoš <[email protected]>
…s and KERBEROS_PRINCIPAL was null on creation Closes keycloak#41520 Signed-off-by: Martin Kanis <[email protected]>
Closes keycloak#41471 Signed-off-by: Stan Silvert <[email protected]>
…41233) Closes keycloak#39293 Signed-off-by: forkimenjeckayang <[email protected]>
closes keycloak#41121 Signed-off-by: Takashi Norimatsu <[email protected]>
Fixes keycloak#41598 Signed-off-by: Stan Silvert <[email protected]>
…loak Closes keycloak#41176 Signed-off-by: rmartinc <[email protected]> Signed-off-by: Alexander Schwartz <[email protected]> Co-authored-by: Alexander Schwartz <[email protected]>
Signed-off-by: Ogenbertrand <[email protected]>
This will handle even those sessions created by other tests. Closes keycloak#41545 Signed-off-by: Alexander Schwartz <[email protected]>
Signed-off-by: Ogenbertrand <[email protected]>
closes keycloak#40696 Signed-off-by: mposolda <[email protected]>
This PR aims at supporting credential_response_encryption during the issuing of credentials request. If the Client requested an encrypted response by including the credential_response_encryption object in the request, the Credential Issuer MUST encode the information in the Credential Response as a JWT using the parameters from the credential_response_encryption object. If the Credential Response is encrypted, the media type of the response MUST be set to application/jwt. If encryption was requested in the Credential Request and the Credential Response is not encrypted, the Client SHOULD reject the Credential Response.
See: https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html#name-credential-request