Skip to content

Conversation

@awoie
Copy link
Contributor

@awoie awoie commented Mar 25, 2025

Fixes #278

  • Defines term
  • Adds optional param to credential response and deferred credential response

: A set of one or more claims about a subject, provided by a Credential Issuer.

Credential Dataset Identifier
: A persistent identifier that refers to a specific version of a Credential Dataset. It remains stable across multiple instances of a Credential that share the same set of claim values, even if they differ in cryptographic proofs. When the claim values in the dataset change, a new Credential Dataset Identifier is assigned. This enables Wallets to detect meaningful changes to the underlying data and to distinguish between different versions of a Credential Dataset issued under the same Credential Configuration.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
: A persistent identifier that refers to a specific version of a Credential Dataset. It remains stable across multiple instances of a Credential that share the same set of claim values, even if they differ in cryptographic proofs. When the claim values in the dataset change, a new Credential Dataset Identifier is assigned. This enables Wallets to detect meaningful changes to the underlying data and to distinguish between different versions of a Credential Dataset issued under the same Credential Configuration.
: A unique identifier that refers to a specific version of a Credential Dataset. This identifier remains stable across multiple instances of a Credential that share the same set of claim values, even if they differ in cryptographic proofs. When the claim values in the dataset change, a new Credential Dataset Identifier is assigned. This identifier enables Wallets to detect changes to the underlying data and to distinguish between Credentials issued with different versions of a Credential Dataset under the same Credential Configuration.

* `credential`: REQUIRED. Contains one issued Credential. It MAY be a string or an object, depending on the Credential Format. See Appendix A for the Credential Format-specific encoding requirements.
* `transaction_id`: OPTIONAL. String identifying a Deferred Issuance transaction. This parameter is contained in the response if the Credential Issuer cannot immediately issue the Credential. The value is subsequently used to obtain the respective Credential with the Deferred Credential Endpoint (see (#deferred-credential-issuance)). It MUST not be used if the `credentials` parameter is present. It MUST be invalidated after the Credential for which it was meant has been obtained by the Wallet.
* `notification_id`: OPTIONAL. String identifying one or more Credentials issued in one Credential Response. It MUST be included in the Notification Request as defined in (#notification). It MUST not be used if the `credentials` parameter is not present.
* `credential_dataset_id`: OPTIONAL. An opaque string containing the Credential Dataset Identifier associated with the returned Credential(s). This allows Wallets to detect changes to the underlying Credential Dataset across different Credential Responses.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Personally I think this feature is important enough that this identifier should be mandatory to return otherwise it makes it very difficult for credential update/refresh to be supported. If its left optional we need to discuss how it gets signalled whether this feature is supported and what a wallet is suppose to assume when it comes to updating/refreshing credentials.

Copy link
Contributor

@tplooker tplooker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor editorial review, generally very supportive of this proposal I think its a critical feature. Few other thoughts

  • We should consider making this feature required as leaving it optional will make communicating credential updates/refreshes difficult.
  • I believe the specification would benefit from a seperate additional endpoint that enables a wallet to ask if there are any updates for a specific credential. Otherwise without this a wallet is forced to ask for a new credential in order to determine whether anything has changed.

@tplooker
Copy link
Contributor

Only other thing that came to mind on this topic that perhaps we need to discuss is how we support different datasets versus different versions of the same dataset as I suspect in the event an issuer is issuing two different datasets for the same credential (e.g two credentials about different people), to the same wallet this identifier would become ambiguous.

@Sakurann
Copy link
Collaborator

Sakurann commented May 5, 2025

temporarily close to prevent confusion - will reopen once 1.0 goes out

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Supporting Credential Versioning

4 participants