Partilhar via


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.

Captura de tela do Guia de início rápido de credenciais de problema 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ê à credencial um nome de tipo. Para criar a credencial, selecione Criar.

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

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.

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

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 .

Captura de ecrã das declarações na credencial emitida.

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.

Captura de tela do problema de credenciais personalizadas de início rápido.

Próximos passos

Consulte a referência Regras e definições de exibição.