๐Ÿ“–Issuer implementation

When the wallet makes a GET to the Issuer endpoint, a JSON is returned to the wallet (Issuer GET response):

example:

{
  "type": "CredentialOffer",
  "id" : "hjhghlkjgljkgjkg",
  "credentialPreview": {},
  "expires" : "2022-09-01T19:29:39Z",
  "challenge" : "mjh45RT56",
  "domain" : "talao.co",
  "credential_manifest" : {}
}

The โ€œchallengeโ€ and domain arttributes will be used for DID_auth response or verifible presentation. The โ€œcredential_manifestโ€ attribute is used to define the expected display options of the VC in the wallet (outpout_descriptors).

id, challenge and domain are optional attributes.

The wallet response will be :

{
  "id" : "hjhghlkjgljkgjkg",
  "Subjetc_id" : "did:tz:tz1e5YakmACgZZprF7YWHMqnSvcWVXZ2TsPW",
  "presentation": "vp"
}

โ€œvpโ€ is a verifiable presentation as a string here.

If the credential manifest does not request any vc, a vp โ€œdid authโ€ is signed and sent by the wallet to confirm key ownership. Example of a vp โ€œdid authโ€ :

{
  "@context": [
    "https://www.w3.org/2018/credentials/v1"
  ],
  "type": "VerifiablePresentation",
  "proof": {
    "type": "Ed25519Signature2018",
    "proofPurpose": "authentication",
    "challenge": "lkjhlkjh",
    "verificationMethod": "did:key:z6MktsB3ztEt3BsR3P6pLffDnjZi7DH85wsbp71fAfPk3F6G#z6MktsB3ztEt3BsR3P6pLffDnjZi7DH85wsbp71fAfPk3F6G",
    "created": "2022-12-14T14:17:33.782Z",
    "domain": "talao.co",
    "jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..Di0w_VVLzap9jwE2Ny7CU8dHfxY-yZWJzGzVGj7Z4XNSbeJ4aQVLfix3uGqaAjF53Lb166YY6YqwouAjRz-5Bw"
  },
  "holder": "did:key:z6MktsB3ztEt3BsR3P6pLffDnjZi7DH85wsbp71fAfPk3F6G"
}

Several verifiable presentations are requested in the credential manifest, wallet response will be :

{
  "id" : "hjhghlkjgljkgjkg",
  "Subject_id" : "did:tz:tzYakmACgZZprF7YWHMqnSvcWVXZ2TsPW",
  "presentation" : "[ vp1, vp2, vp3,... ]"
}

vp1,โ€ฆ are strings

verifiable presentation (vp) is a credential bound with nonce if available in the request. This credential includes all the existing profile attributes if wallet holder consents.

Last updated