What
Add DidDocumentServiceIdentityHubClient — a new implementation of the DidDocumentServiceClient SPI (spi/did-document-service-spi) that registers the DSP endpoint in an IdentityHub instance via its Identity Admin API.
Why
Today only one implementation of DidDocumentServiceClient exists:
| Implementation |
Target |
Status |
DidDocumentServiceDimClient |
SAP DIM / DIV |
✅ |
DidDocumentServiceIdentityHubClient |
IdentityHub |
❌ missing |
When tx.edc.iam.sts.dim.url is not set (DCP/IdentityHub mode), no DidDocumentServiceClient is registered. As a result, tx.edc.did.service.self.registration.enabled=true is a no-op — the DSP endpoint is never written to the DID Document and the DCP flow fails.
Discovered while testing tractusx-identityhub PR #244 against current main.
How
New module: edc-extensions/did-document/did-document-service-identity-hub/
Calls IdentityHub Identity Admin API (port 8082, X-Api-Key auth):
POST /v1/unstable/participants/{contextId}/dids/{base64url-did}/endpoints?autoPublish=true
DELETE /v1/unstable/participants/{contextId}/dids/{base64url-did}/endpoints?serviceId={id}&autoPublish=true
New config:
tx.edc.ih.identity.api.url=
tx.edc.ih.participant.context.id=
tx.edc.ih.identity.api.key.alias=
Activates only when tx.edc.iam.sts.dim.url is unset — mutually exclusive with the DIM client.
References
edc-extensions/did-document/did-document-service-dim — reference impl
- #tractusx-identityhub#244
- #sig-release#1609 (R26.06 IdentityHub + Connector bundle)
/cc @lgblaumeiser @arnoweiss
I have already implemented it in my company's public repo and opened a pull request there. If you find everything right, I'll be happy to contribute. Here is the pull request link:
Federity-X#7
Update: implemented a better version here: Federity-X#8
What
Add
DidDocumentServiceIdentityHubClient— a new implementation of theDidDocumentServiceClientSPI (spi/did-document-service-spi) that registers the DSP endpoint in an IdentityHub instance via its Identity Admin API.Why
Today only one implementation of
DidDocumentServiceClientexists:DidDocumentServiceDimClientDidDocumentServiceIdentityHubClientWhen
tx.edc.iam.sts.dim.urlis not set (DCP/IdentityHub mode), noDidDocumentServiceClientis registered. As a result,tx.edc.did.service.self.registration.enabled=trueis a no-op — the DSP endpoint is never written to the DID Document and the DCP flow fails.Discovered while testing tractusx-identityhub PR #244 against current
main.How
New module:
edc-extensions/did-document/did-document-service-identity-hub/Calls IdentityHub Identity Admin API (port 8082,
X-Api-Keyauth):New config:
Activates only when
tx.edc.iam.sts.dim.urlis unset — mutually exclusive with the DIM client.References
edc-extensions/did-document/did-document-service-dim— reference impl/cc @lgblaumeiser @arnoweiss
I have already implemented it in my company's public repo and opened a pull request there. If you find everything right, I'll be happy to contribute. Here is the pull request link:
Federity-X#7
Update: implemented a better version here: Federity-X#8