ProofSpace provides the following integration points:
Called by ProofSpace:
Interaction Webhook
Credential External Verification Webhook
Called by third-party:
Credential Issuing Webhook
Webhook calls are performed as HTTPS Post requests, where input and output are json encoded values.
...
We support two authentication schema:
Request Signature
Each call should have an additional X-Body-Signature header with the value of the third-party’s sha3-256 signature in base64 encoding. ProofSpace and third-parties should exchange public keys before integration.Bearer Token
Each call should have an Authorisation header with the valueBearer {token}
, where the token is a base64 representation of the JsonWebToken as defined in RFC 7519.
In the request from ProofSpace, 'iss' field is a public DID of the service[^1].
In request to ProofSpace, 'aud' field should be a public DID of the service.
ProofSpace and third-parties should exchange public keys of sha secrets before integration.
...
You may navigate to ProofSpace Demo service by searching it in the App or by scanning the service QR with the Scan button in the bottom navigation bar.
Description of calls
...
serviceDid: string; // public service DID, should be the same as in request
subscriberConnectDid: string; // connect DID, should be the same as in request
actionEventId: string; // event
issuedCredentials: WebhookCredentialValuesDTO[ ]; // array of issued credentials.
revokedCredentials: [] // can be kept as an empty array
Note: the value fields in WebhookCredentialValuesDTO[ ] should all be string. Actual value types will be casted on credential issue according to the credential schema attribute types.
Note: if third-party systems want to deny or postpone the issuing of a credential back to a user, then it should return credentials with empty fields and the revoked flag set to true.
...