Verified Identity
To request verified identity VC available in the Affinidi Vault, a specific Presentation Definition must be defined in the Affinidi Iota Framework. In the Presentation Definition, the query must include the following filters to enable Affinidi Vault to determine whether the website requesting data from the user requires the verified identity VC or not.
Check for VC Issuer: Filter to only accept Verifiable Credential issued by Affinidi and signed using the
did:web
method. The verified identity VC is issued and signed by thedid:web:idv.affinidi.com
DID.Check for VC Type: Filter to only accept Verifiable Credential created by Identity Verification flow, including the supported document. You can request any supported documents available by only specifying
VerifiedIdentityDocument
as the VC Type in the query.
If the verified identity VC is not found in the user’s Affinidi Vault, the user is redirected to the ID Verification provider to perform identity verification where the user must provide a self-photo and one of the supported identity documents.
Note
Identity Verification is currently in Closed Beta. To enable this feature in your project, send us a request through Contact Us form and get your Project ID whitelisted.
To learn more about how Identity Verification works, visit this page.
Request Verified Passport
Below is the Presentation Definition required to query the verified identity VC using the user’s Passport document from the Affinidi Vault.
{
"id": "verified_identity",
"input_descriptors": [
{
"id": "id_document_input",
"name": "Passport",
"constraints": {
"fields": [
{
"path": ["$.issuer", "$.vc.issuer", "$.iss"],
"purpose": "Only accept credentials issued by Affinidi IDV",
"filter": {
"type": "string",
"pattern": "^did:web:idv.affinidi.com$"
}
},
{
"path": [
"$.type"
],
"purpose": "Only accept IDV type VC",
"filter": {
"type": "array",
"contains": {
"type": "string",
"pattern": "^VerifiedIdentityDocument$"
}
}
},
{
"path": [
"$.type"
],
"purpose": "Only accept IDV supported document",
"filter": {
"type": "array",
"contains": {
"type": "string",
"pattern": "^Passport$"
}
}
}
]
}
}
]
}
Request Verified Driver’s License
Below is the Presentation Definition required to query the verified identity VC using the user’s Driver’s License from the Affinidi Vault.
{
"id": "verified_identity",
"input_descriptors": [
{
"id": "id_document_input",
"name": "Drivers License",
"constraints": {
"fields": [
{
"path": ["$.issuer", "$.vc.issuer", "$.iss"],
"purpose": "Only accept credentials issued by Affinidi IDV",
"filter": {
"type": "string",
"pattern": "^did:web:idv.affinidi.com$"
}
},
{
"path": [
"$.type"
],
"purpose": "Only accept IDV type VC",
"filter": {
"type": "array",
"contains": {
"type": "string",
"pattern": "^VerifiedIdentityDocument$"
}
}
},
{
"path": [
"$.type"
],
"purpose": "Only accept IDV supported document",
"filter": {
"type": "array",
"contains": {
"type": "string",
"pattern": "^DriversLicense$"
}
}
}
]
}
}
]
}
Request Verified Identity (Any Supported Docs)
Below is the Presentation Definition required to query the verified identity VC using any supported documents from the user’s Affinidi Vault.
{
"id": "verified_identity",
"input_descriptors": [
{
"id": "id_document_input",
"name": "ID Document",
"constraints": {
"fields": [
{
"path": ["$.issuer", "$.vc.issuer", "$.iss"],
"purpose": "Only accept credentials issued by Affinidi IDV",
"filter": {
"type": "string",
"pattern": "^did:web:idv.affinidi.com$"
}
},
{
"path": [
"$.type"
],
"purpose": "Only accept IDV type VC",
"filter": {
"type": "array",
"contains": {
"type": "string",
"pattern": "^VerifiedIdentityDocument$"
}
}
}
]
}
}
]
}
To request any of the supported documents, we have only specified the type as a VerifiedIdentityDocument
. If the verified identity document is not present in the user’s Affinidi Vault, the user is requested to present either the passport or driver’s license during the verification process.
Glad to hear it! Please tell us how we can improve more.
Sorry to hear that. Please tell us how we can improve.
Thank you for sharing your feedback so we can improve your experience.