Emita 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 onde você deseja que o usuário apresente outra credencial verificável na carteira durante a emissão e onde os valores de declaração para emissão da nova credencial são retirados da credencial apresentada. Um exemplo disso pode ser quando você apresenta sua credencial VerifiedEmployee para obter uma credencial de passe de visitante.
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 dois inícios rápidos. Selecione credencial personalizada e, em seguida, selecione 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. Este nome é apenas um nome interno para a credencial no portal. O nome do tipo da credencial é definido no nome da vc.type
propriedade na definição de regras. Para criar a credencial, selecione Criar.
Definições de exibição JSON de exemplo
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 alegações que sua credencial verificável tem. O JSON esperado para as definições de exibição é o conteúdo interno da coleção de displays. O JSON é uma coleção, portanto, se você quiser oferecer 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 exemplo
A definição do atestado JSON deve conter o nome das apresentações . O inputClaim na seção de mapeamento define quais declarações devem ser capturadas na credencial que o usuário apresenta. Eles 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. Esta 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 | Description |
---|---|---|
credentialType |
string | tipo de credencial que está sendo solicitado durante a emissão. TrueIdentity no exemplo acima. |
contracts |
string (matriz) | lista de URL(s) de manifesto das credenciais que estão sendo solicitadas. No exemplo acima, a URL do manifesto é o manifesto para True Identity |
trustedIssuers |
string (matriz) | uma lista de DIDs de emissor permitidos para a credencial que está sendo solicitada. No exemplo acima, o DID é o DID do True Identity emitente. |
Valores
Experiência do autenticador durante a emissão
Durante a emissão, o Autenticador solicita que o usuário selecione uma credencial correspondente. Se o usuário tiver várias credenciais correspondentes na carteira, o usuário deve selecionar qual apresentar.
Configurar os exemplos para emitir sua credencial personalizada
Para configurar seu código de exemplo para emitir e verificar sua credencial personalizada, você precisa:
- Identificador descentralizado do emissor do seu inquilino (DID)
- O tipo de credencial
- O URL do manifesto para sua credencial
A maneira mais fácil de encontrar essas informações para uma credencial personalizada é ir para sua credencial no portal do Azure. Selecione Emitir credencial. Em seguida, você tem acesso a uma caixa de texto com uma carga JSON para a API do Serviço de Solicitação. Substitua os valores de espaço reservado pelas informações do seu ambiente. O DID do emitente é o valor da autoridade.
Próximos passos
Consulte a referência Regras e definições de exibição.