Emitir credenciais verificáveis apresentando declarações de uma credencial verificável existente
Uma definição de regras que usa o tipo de atestado de apresentações produz um fluxo de emissão em que o usuário deve apresentar outra credencial verificável na carteira durante a emissão e os valores de declaração para emissão da nova credencial são obtidos da credencial apresentada. Um exemplo disso pode ser quando você apresenta a credencial VerifiedEmployee para obter uma credencial de passagem de visitantes.
Criar uma credencial personalizada com o tipo de atestado de apresentações
No portal do Azure, ao selecionar Adicionar credencial, você tem a opção de iniciar duas experiências de Início Rápido. Selecione credencial personalizada e Avançar.
Na página Criar uma nova credencial, insira o código JSON para a exibição e as definições de regras. Na caixa Nome da credencial, dê um nome à credencial. Esse nome é apenas um nome interno para a credencial no portal. O nome do tipo da credencial é definido no nome da propriedade vc.type
na definição de regras. Para criar a credencial, selecione Criar.
Definições de exibição JSON de amostra
A definição de exibição JSON é quase a mesma, independentemente do tipo de atestado. Você só precisa ajustar os rótulos de acordo com as declarações que a credencial verificável apresenta. O JSON esperado para as definições de exibição é o conteúdo interno da coleção de exibições. O JSON é uma coleção, portanto, se você quiser dar suporte a várias localidades, adicione várias entradas com uma vírgula como separador.
{
"locale": "en-US",
"card": {
"backgroundColor": "#000000",
"description": "Use your verified credential to prove to anyone that you know all about verifiable credentials.",
"issuedBy": "Microsoft",
"textColor": "#ffffff",
"title": "Verified Credential Expert",
"logo": {
"description": "Verified Credential Expert Logo",
"uri": "https://didcustomerplayground.z13.web.core.windows.net/VerifiedCredentialExpert_icon.png"
}
},
"consent": {
"instructions": "Present your True Identity card to issue your VC",
"title": "Do you want to get your Verified Credential?"
},
"claims": [
{
"claim": "vc.credentialSubject.firstName",
"label": "First name",
"type": "String"
},
{
"claim": "vc.credentialSubject.lastName",
"label": "Last name",
"type": "String"
}
]
}
Definições de regras JSON de amostra
A definição de atestado JSON deve conter o nome presentations. O inputClaim na seção de mapeamento define quais declarações devem ser capturadas na credencial que o usuário apresenta. Elas precisam ter o prefixo $.vc.credentialSubject
. O outputClaim definiu o nome das declarações na credencial que está sendo emitida.
A definição de regras a seguir solicita que o usuário apresente a credencial True Identity durante a emissão. Essa credencial vem do aplicativo de demonstração público.
{
"attestations": {
"presentations": [
{
"mapping": [
{
"outputClaim": "firstName",
"required": true,
"inputClaim": "$.vc.credentialSubject.firstName",
"indexed": false
},
{
"outputClaim": "lastName",
"required": true,
"inputClaim": "$.vc.credentialSubject.lastName",
"indexed": false
}
],
"required": false,
"credentialType": "TrueIdentity",
"contracts": [
"https://verifiedid.did.msidentity.com/v1.0/tenants/aaaabbbb-0000-cccc-1111-dddd2222eeee/verifiableCredentials/contracts/M2MzMmVkNDAtOGExMC00NjViLThiYTQtMGIxZTg2ODgyNjY4dHJ1ZSBpZGVudGl0eSBwcm9k/manifest"
]
}
]
},
"validityInterval": 2592001,
"vc": {
"type": [
"VerifiedCredentialExpert"
]
}
}
Propriedade | Type | Descrição |
---|---|---|
credentialType |
string | tipo de credencial que está sendo solicitado durante a emissão. TrueIdentity no exemplo acima. |
contracts |
cadeia de caracteres (matriz) | lista de URLs de manifesto de credenciais que estão sendo solicitadas. No exemplo acima, a URL do manifesto é o manifesto para True Identity |
trustedIssuers |
cadeia de caracteres (matriz) | uma lista de DIDs do emissor permitidos para a credencial que está sendo solicitada. No exemplo acima, o DID é do emissor True Identity . |
Valores
Experiência do Authenticator durante a emissão
Durante a emissão, o Authenticator solicita que o usuário selecione uma credencial correspondente. Se o usuário tiver várias credenciais correspondentes na carteira, ele deverá selecionar qual será apresentada.
Configurar os exemplos para emitir e verificar a credencial personalizada
Para configurar o código de exemplo para emitir e verificar a credencial personalizada, você precisa do seguinte:
- DID (identificador descentralizado) do emissor do locatário
- O tipo de credencial
- A URL do manifesto para a credencial
A maneira mais fácil de encontrar essas informações para uma credencial personalizada é acessar a credencial no portal do Azure. Selecione Emitir credencial. Em seguida, você tem acesso a uma caixa de texto com um conteúdo JSON para a API do Serviço de Solicitação. Substitua os valores de espaço reservado pelas informações do ambiente. O DID do emissor é o valor da autoridade.