Crie credenciais verificáveis com vários atestados
Uma definição de regras que usa vários tipos de atestados produz um fluxo de emissão em que as declarações vêm de mais de uma fonte. Por exemplo, pode ser necessário apresentar uma credencial existente e também inserir manualmente valores para declarações no Microsoft Authenticator.
Neste guia de instruções, estendemos o exemplo de atestado de dica de token de ID adicionando uma declaração autoatestada que o usuário precisa inserir no Autenticador durante a emissão. A solicitação de emissão para ID Verificada contém uma dica de token de ID com os valores de declaração para given_name
e family_name
e um tipo de atestado auto-emitido para a declaração displayName
que o usuário insere por conta própria.
Criar uma credencial personalizada com vários tipos de atestado
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ê à credencial um nome de tipo. Para criar a credencial, selecione Criar.
Definições de exibição JSON de exemplo
A definição de exibição JSON tem uma declaração extra chamada displayName em comparação com a definição de exibição de dica de token de ID.
{
"locale": "en-US",
"card": {
"title": "Verified Credential Expert",
"issuedBy": "Microsoft",
"backgroundColor": "#507090",
"textColor": "#ffffff",
"logo": {
"uri": "https://didcustomerplayground.z13.web.core.windows.net/VerifiedCredentialExpert_icon.png",
"description": "Verified Credential Expert Logo"
},
"description": "Use your verified credential to prove to anyone that you know all about verifiable credentials."
},
"consent": {
"title": "Do you want to get your Verified Credential?",
"instructions": "Sign in with your account to get your card."
},
"claims": [
{
"claim": "vc.credentialSubject.displayName",
"label": "Name",
"type": "String"
},
{
"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 de regras JSON contém dois atestados diferentes que instruem o Autenticador a obter valores de declaração de duas fontes diferentes. A solicitação de emissão para a API do Serviço de Solicitação fornece os valores para as declarações given_name e family_name para satisfazer o atestado idTokenHints . O usuário é solicitado a inserir o valor da declaração para displayName no Autenticador durante a emissão.
{
"attestations": {
"idTokenHints": [
{
"mapping": [
{
"outputClaim": "firstName",
"required": true,
"inputClaim": "$.given_name",
"indexed": false
},
{
"outputClaim": "lastName",
"required": true,
"inputClaim": "$.family_name",
"indexed": false
}
],
"required": false
}
],
"selfIssued": {
"mapping": [
{
"outputClaim": "displayName",
"required": true,
"inputClaim": "displayName",
"indexed": false
}
],
"required": false
}
},
"validityInterval": 2592000,
"vc": {
"type": [
"VerifiedCredentialExpert"
]
}
}
Entrada de sinistros durante a emissão
Durante a emissão, o Authenticator solicita que o usuário insira valores para as declarações especificadas. A entrada do usuário não é validada.
Declarações na credencial emitida
As credenciais emitidas têm três declarações no total, onde o First
e Last name
veio do atestado de sugestão de token de identificação e o Name
veio do atestado auto-emitido .
Configure os exemplos para emitir e verificar 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.