Compartilhar via


Criar credenciais verificáveis com vários atestados

Uma definição de regras que usa vários tipos de atestado produz um fluxo de emissão em que as declarações vêm de mais de uma fonte. Por exemplo, você pode ser obrigado a apresentar uma credencial existente e também inserir manualmente valores para declarações no Microsoft Authenticator.

Neste guia de instruções, estenderemos o exemplo de atestado de dica de token de ID adicionando uma declaração autoatestada que o usuário precisa inserir no Authenticator durante a emissão. A solicitação de emissão para a ID Verificada conterá uma dica de token de ID com os valores de declaração para given_name e family_name e um tipo de atestado autoemitido para a declaração displayName que o próprio usuário insere.

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 duas experiências de Início Rápido. Selecione credencial personalizada e Avançar.

Captura de tela do guia de início rápido Emitir credenciais para criar uma credencial personalizada.

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 de tipo à credencial. Para criar a credencial, selecione Criar.

Captura de tela da página Criar uma credencial, exibindo exemplos de JSON dos arquivos de exibição e de regras.

Definições de exibição JSON de amostra

A definição de exibição JSON tem uma declaração adicional chamada displayName, em comparação à definição de exibição da 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 amostra

A definição de regras JSON contém dois atestados diferentes que instruem o Authenticator 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 atender ao atestado idTokenHints. O usuário será solicitado a inserir o valor da declaração para displayName no Authenticator 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 declarações durante a emissão

Durante a emissão, o Authenticator solicita que o usuário insira valores para as declarações especificadas. A entrada de usuário não é validada.

Captura de tela da entrada de reivindicações autoemitidas.

Declarações na credencial emitida

A credencial emitida terá três declarações no total, em que o First e o Last name vieram do atestado da dica de token de ID e o Name veio do atestado autoemitido.

Captura de tela das declarações na credencial emitida.

Configurar as amostras 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.

Captura de tela do Início Rápido de emissão de credencial personalizada.

Próximas etapas

Confira a Referência de regras e definições de exibição.