-
Notifications
You must be signed in to change notification settings - Fork 27
Clarify that number of issued credentials is related to number of keys #533
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
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.
much clearer
@@ -1096,7 +1096,7 @@ If the Credential Response is not encrypted, the media type of the response MUST | |||
|
|||
The following parameters are used in the JSON-encoded Credential Response body: | |||
|
|||
* `credentials`: OPTIONAL. Contains an array of one or more issued Credentials. It MUST NOT be used if the `transaction_id` parameter is present. The elements of the array MUST be objects. This specification defines the following parameters to be used inside this object: | |||
* `credentials`: OPTIONAL. Contains an array of one or more issued Credentials. It MUST NOT be used if the `transaction_id` parameter is present. The elements of the array MUST be objects. The number of elements in the array is the number of keys for Credentials to be bound to that the Wallet has provided via the `proofs` parameter in the Credential Request, unless the Issuer decides to issue fewer Credentials. This specification defines the following parameters to be used inside this object: |
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.
It reads a little weird to me. How about:
* `credentials`: OPTIONAL. Contains an array of one or more issued Credentials. It MUST NOT be used if the `transaction_id` parameter is present. The elements of the array MUST be objects. The number of elements in the array is the number of keys for Credentials to be bound to that the Wallet has provided via the `proofs` parameter in the Credential Request, unless the Issuer decides to issue fewer Credentials. This specification defines the following parameters to be used inside this object: | |
* `credentials`: OPTIONAL. Contains an array of one or more issued Credentials. It MUST NOT be used if the `transaction_id` parameter is present. The elements of the array MUST be objects. The number of elements in the `credentials` array matches the number of keys that the Wallet has provided in the `proofs` parameter of the Credential Request, unless the Issuer decides to issue fewer Credentials. This specification defines the following parameters to be used inside this object: |
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.
Thanks Paul! I think that is better, though I think "via" is better than "in". "proofs" is an extension point so people could define mechanisms where keys are provided but the keys technically aren't "in" the proofs parameter (a set of keys being derived from an initial key being one case):
* `credentials`: OPTIONAL. Contains an array of one or more issued Credentials. It MUST NOT be used if the `transaction_id` parameter is present. The elements of the array MUST be objects. The number of elements in the array is the number of keys for Credentials to be bound to that the Wallet has provided via the `proofs` parameter in the Credential Request, unless the Issuer decides to issue fewer Credentials. This specification defines the following parameters to be used inside this object: | |
* `credentials`: OPTIONAL. Contains an array of one or more issued Credentials. It MUST NOT be used if the `transaction_id` parameter is present. The elements of the array MUST be objects. The number of elements in the `credentials` array matches the number of keys that the Wallet has provided via the `proofs` parameter of the Credential Request, unless the Issuer decides to issue fewer Credentials. This specification defines the following parameters to be used inside this object: |
@@ -1096,7 +1096,7 @@ If the Credential Response is not encrypted, the media type of the response MUST | |||
|
|||
The following parameters are used in the JSON-encoded Credential Response body: | |||
|
|||
* `credentials`: OPTIONAL. Contains an array of one or more issued Credentials. It MUST NOT be used if the `transaction_id` parameter is present. The elements of the array MUST be objects. This specification defines the following parameters to be used inside this object: | |||
* `credentials`: OPTIONAL. Contains an array of one or more issued Credentials. It MUST NOT be used if the `transaction_id` parameter is present. The elements of the array MUST be objects. The number of elements in the array is the number of keys for Credentials to be bound to that the Wallet has provided via the `proofs` parameter in the Credential Request, unless the Issuer decides to issue fewer Credentials. This specification defines the following parameters to be used inside this object: |
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.
* `credentials`: OPTIONAL. Contains an array of one or more issued Credentials. It MUST NOT be used if the `transaction_id` parameter is present. The elements of the array MUST be objects. The number of elements in the array is the number of keys for Credentials to be bound to that the Wallet has provided via the `proofs` parameter in the Credential Request, unless the Issuer decides to issue fewer Credentials. This specification defines the following parameters to be used inside this object: | |
* `credentials`: OPTIONAL. Contains an array of one or more issued Credentials. It MUST NOT be used if the `transaction_id` parameter is present. The elements of the array MUST be objects. The number of elements in this array corresponds to the number of keys the Wallet has provided via the `proofs` parameter in the Credential Request, unless the Issuer decides to issue fewer Credentials. Where each credential returned is bound to a unique key that has been provided by the wallet in the credential request. This specification defines the following parameters to be used inside this object: |
Another possible suggestion for the first part and for the last sentence I added I was trying to weave in explicitly that its not just the number of credentials returned will match the number of proofs provided but also that each credential returned is bound to a unique key. Otherwise plausibly an issuer implementation could for example if it receives 10 proofs in a request return 10 credentials bound to the first key. I'm not sure my language is sufficient yet, but I think we need to clarify that.
closes #510