Bug Report
Describe the Bug
When the Credential Offer API (POST /v1/participants/{participantContextId}/offers) converts a received CredentialOfferMessage into the CredentialOffer entity, the id of each CredentialObject is not copied over:
https://github.com/eclipse-edc/IdentityHub/blob/0769bc1a/protocols/dcp/dcp-identityhub/credential-offer-api/src/main/java/org/eclipse/edc/identityhub/api/credentialoffer/CredentialOfferApiController.java#L101-L107
The @id of the offered credential is the issuer-assigned credential object ID, which the holder must reference in the subsequent DCP CredentialRequestMessage.
Expected Behavior
The stored CredentialOffer contains the credential objects with the @id received in the CredentialOfferMessage, so that the CredentialOfferHandler initiates the holder credential request (RequestedCredential.id) with the correct credential object ID.
Observed Behavior
The ID is dropped when mapping the DCP message model to the CredentialOffer entity. The credential request that is triggered by the offer then references a credential object ID the issuer does not know, so issuance cannot proceed.
Context Information
- Affected module:
protocols:dcp:dcp-identityhub:credential-offer-api
Bug Report
Describe the Bug
When the Credential Offer API (
POST /v1/participants/{participantContextId}/offers) converts a receivedCredentialOfferMessageinto theCredentialOfferentity, theidof eachCredentialObjectis not copied over:https://github.com/eclipse-edc/IdentityHub/blob/0769bc1a/protocols/dcp/dcp-identityhub/credential-offer-api/src/main/java/org/eclipse/edc/identityhub/api/credentialoffer/CredentialOfferApiController.java#L101-L107
The
@idof the offered credential is the issuer-assigned credential object ID, which the holder must reference in the subsequent DCPCredentialRequestMessage.Expected Behavior
The stored
CredentialOffercontains the credential objects with the@idreceived in theCredentialOfferMessage, so that theCredentialOfferHandlerinitiates the holder credential request (RequestedCredential.id) with the correct credential object ID.Observed Behavior
The ID is dropped when mapping the DCP message model to the
CredentialOfferentity. The credential request that is triggered by the offer then references a credential object ID the issuer does not know, so issuance cannot proceed.Context Information
protocols:dcp:dcp-identityhub:credential-offer-api