Verifiable Credentials Issuance

This guide describes how to issue OneID® Verifiable Credentials. The protocol that we support is OpenID for Verifiable Credential Issuance.

Issuance Flow Chart

sequenceDiagram User->>Wallet: User selects Credential Wallet->>Credential Issuer: Request Issuer metadata Wallet->>Credential Issuer: Authorization Request (in browser) Credential Issuer->>Bank: Verify Identity Credential Issuer->>Wallet: Authorization Response (code) Wallet->>Credential Issuer:Token Request (code) Credential Issuer->>Wallet: Token Response (access token) Wallet->>Credential Issuer: Credential Request Credential Issuer->>Wallet: Credential Response (credential)

Supported Features

FlowAuthorization Code Flow
Credential Format ProfileVC signed as a JWT (jwt_vc_json)
Proof TypesJWT

Authorization Endpoint

The authorization endpoint is used in the same manner as our base journey, but with some additional parameters.

  • authorization_details
    • type is required and is always set to openid_credentials
    • credential_configuration_id should be the id for the required credential

Authorization Request

Javascript
Copy

Authorization Success

When the authorization process is successful the user will be redirected back to the redirect uri provided on the authorization request along with a code.

Javascript
Copy

Authorization Error

When there is an error in the authorization process the user is redirected back with an error and error_description provided.

Javascript
Copy

Token Endpoint

The code that was returned for the user can now be exchanged for a token on the token endpoint.

Javascript
Copy

Token Response

Javascript
Copy

Credentials Endpoint

The credential endpoint issues verifiable credentials when a valid access token representing user approval is presented.

Credential Request

  • proof should be set and proof_type should be jwt.
  • c_nonce returned from the token endpoint should be included in the audience claim in the jwt.
Javascript
Copy

Credential Success

The notification_id should be used to post updates to the notification endpoint.

Javascript
Copy

Credential Error

Possible Errors

  • invalid_credential_request
  • unsupported_credential_type
  • invalid_proof
  • invalid_encryption_parameters
Javascript
Copy

Notification Endpoint

Notification Request

Javascript
Copy
Javascript
Copy

Notification Success

Javascript
Copy

Notification Error

Javascript
Copy

Credential Issuer Metadata

The Credential Issuer Metadata contains information on the Credential Issuer's technical capabilities, supported Credentials, and (internationalized) display information.

This document lives under /.well-known/openid-credential-issuer

Javascript
Copy
Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard