-
Notifications
You must be signed in to change notification settings - Fork 22
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 sd-jwt vc profile to vci #128
Conversation
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.
Some small editorials to join. In the meantime I approve this PR.
Co-authored-by: Joseph Heenan <joseph@heenan.me.uk> Co-authored-by: Giuseppe De Marco <demarcog83@gmail.com>
Co-authored-by: Paul Bastian <paul.bastian@posteo.de>
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 use the ISO mdoc section as a basis for SD-JWT VC and just replace doctype
with vct
.
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.
As having implemented SD-JWT in OpenID4VC but not HAIP, I like the sd-jwt format profile being moved to OID4VCI
Co-authored-by: Oliver Terbu <43441584+awoie@users.noreply.github.com> Co-authored-by: Joseph Heenan <joseph@heenan.me.uk>
@TimoGlastra just the heads up that if you implemented sd-jwt vc profile that was in HAIP, this PR introduces breaking changes to that. |
|
||
The following additional parameters are defined for Credential Requests and this Credential format. | ||
|
||
* `vct`: REQUIRED when the `credential_identifier` is not used. String as defined in (#server_metadata_sd_jwt_vc). This claim contains the type values the Wallet requests authorization for at the Credential Issuer. |
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.
Do we need to clearer about when VCT and credential_identifier are both present in a credential request? Does one need to take precedent, what if they conflict?
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.
If we do, I think it should be clarified when addressing issue #132.
the clarification should also be in this section that defines the behavior of credential request https://openid.github.io/OpenID4VCI/openid-4-verifiable-credential-issuance-wg-draft.html#name-credential-request, so this is probably out of scope of this PR.
the current thinking has been that both format specific claims and credential_identifier can be present since it is possible to use both scopes and RAR in the same authz request
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 cannot think of any case where both, the credential_identifier and the vct
could be in the same request, so this should be a MUST NOT if credential_identifier
is present.
The credential request text already states "When this parameter is used, the format
parameter and any other Credential format specific set of parameters such as those defined in (#format_profiles) MUST NOT be present."
Additionally, I'm not sure these requirements should be stated in a profile as the interplay between credential_identifier and format+format specific type information is subject to the core spec. I think the profile should state something like: "vct
: determines the type of a credential of this format, might also be used in credential request ..."
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.
Right. I confused the ability to use both for the same credential - we still currently support using RAR for one credential and format/type for another with the same access token.
This came up because 'vct' is mandatory when format/type is used but must not be present when credential_identifier is used. So honestly, I would suggest that current language works ok.
Co-authored-by: Kristina <52878547+Sakurann@users.noreply.github.com>
|
||
The following additional parameters are defined for Credential Requests and this Credential format. | ||
|
||
* `vct`: REQUIRED when the `credential_identifier` is not used. String as defined in (#server_metadata_sd_jwt_vc). This claim contains the type values the Wallet requests authorization for at the Credential Issuer. |
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.
* `vct`: REQUIRED when the `credential_identifier` is not used. String as defined in (#server_metadata_sd_jwt_vc). This claim contains the type values the Wallet requests authorization for at the Credential Issuer. | |
* `vct`: String as defined in (#server_metadata_sd_jwt_vc). This claim contains the type values the Wallet requests authorization for at the Credential Issuer. This claim MUST NOT be present if the `credential_identifier` is present in the request. |
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 clarified for all other credential formats, too.
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.
we are almost there ;-)
|
||
The following additional parameters are defined for Credential Requests and this Credential format. | ||
|
||
* `vct`: REQUIRED when the `credential_identifier` was not present in the Credential Request. MUST NOT be used otherwise. String as defined in (#server_metadata_sd_jwt_vc). This claim contains the type values the Wallet requests authorization for at the Credential Issuer. |
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.
* `vct`: REQUIRED when the `credential_identifier` was not present in the Credential Request. MUST NOT be used otherwise. String as defined in (#server_metadata_sd_jwt_vc). This claim contains the type values the Wallet requests authorization for at the Credential Issuer. | |
* `vct`: REQUIRED when the `credential_identifier` is not present in the Credential Request. MUST NOT be used otherwise. String as defined in (#server_metadata_sd_jwt_vc). This claim contains the type values the Wallet requests authorization for at the Credential Issuer. |
|
||
The following additional parameters are defined for Credential Requests and this Credential format. | ||
|
||
* `vct`: REQUIRED when the `credential_identifier` was not present in the Credential Request. MUST NOT be used otherwise. String as defined in (#server_metadata_sd_jwt_vc). This claim contains the type values the Wallet requests authorization for at the Credential Issuer. |
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.
* `vct`: REQUIRED when the `credential_identifier` was not present in the Credential Request. MUST NOT be used otherwise. String as defined in (#server_metadata_sd_jwt_vc). This claim contains the type values the Wallet requests authorization for at the Credential Issuer. | |
* `vct`: REQUIRED when the `credential_identifier` was not present in the Credential Request. MUST NOT be used otherwise. String as defined in (#server_metadata_sd_jwt_vc). This claim contains the type value of the Credential the Wallet requests the Credential Issuer to issue. |
|
||
### Credential Issuer Metadata {#server_metadata_sd_jwt_vc} | ||
|
||
The following additional Credential Issuer metadata parameters are defined for this Credential format to be added to the `credentials_supported` parameter in addition to those defined in (#credential-issuer-parameters). |
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.
This will conflict with with the credential_configurations_supported
change.
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.
how?
Co-authored-by: Torsten Lodderstedt <torsten@lodderstedt.net>
resolves #122. resolves #28. resolves #134