Emisión de credenciales verificables mediante la presentación de notificaciones a partir de una credencial verificable existente

Nota:

Microsoft Entra Verified ID es ahora Microsoft Entra Verified ID y forma parte de la familia de productos Microsoft Entra. Obtenga más información sobre la familia de soluciones de identidad Microsoft Entra y empiece a trabajar en el centro de administración unificado de Microsoft Entra.

Una definición de reglas que usa el tipo de atestación de presentaciones genera un flujo de emisión en el que se desea que el usuario presente otra credencial verificable en la cartera durante la emisión y donde los valores de notificación para la emisión de la nueva credencial se toman de la credencial presentada. Un ejemplo de esto puede ser cuando presente la credencial VerifiedEmployee para obtener una credencial de pase para visitantes.

Creación de una credencial personalizada con el tipo de atestación de presentaciones

En Azure Portal, si hace clic en Agregar credencial, podrá empezar dos inicios rápidos. Seleccione Credencial personalizada y, a continuación, seleccione Siguiente.

Screenshot of the 'Issue credentials' quickstart for creating a custom credential.

En la página Crear una credencial, escriba el código JSON para la presentación y las definiciones de reglas. En el cuadro Nombre de credencial, especifique un nombre para la credencial. Se trata únicamente de un nombre interno para la credencial en el portal. El nombre para el tipo de credencial viene definido por el nombre de propiedad vc.type de la definición de reglas. Para crear la credencial, seleccione Crear.

Screenshot of the 'Create a new credential' page, displaying JSON samples for the display and rules files.

Ejemplo de definiciones de visualización en formato JSON

La definición de visualización de JSON es casi la misma, independientemente del tipo de atestación. Solo tiene que ajustar las etiquetas según las notificaciones que tiene la credencial verificable. El código JSON que se espera para las definiciones de visualización es el contenido interno de la colección de visualizaciones. El código JSON es una colección, por lo que si quiere admitir varias configuraciones regionales, agregue varias entradas separadas por una coma.

{
  "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.blob.core.windows.net/public/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"
    }
  ]
}

Ejemplo de definiciones de reglas JSON

La definición de atestación de JSON debe incluir el nombre de presentaciones. En la sección de asignación, inputClaim define las notificaciones que se deben capturar en la credencial que presenta el usuario. Deben tener el prefijo $.vc.credentialSubject. OutputClaim define el nombre de las notificaciones en la credencial que se emita.

La siguiente definición de reglas solicitará al usuario que presente la credencial True Identity durante la emisión. Esta credencial procede de la aplicación de demostración pública.

{
  "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/3c32ed40-8a10-465b-8ba4-0b1e86882668/verifiableCredentials/contracts/M2MzMmVkNDAtOGExMC00NjViLThiYTQtMGIxZTg2ODgyNjY4dHJ1ZSBpZGVudGl0eSBwcm9k/manifest"
        ]
      }
    ]
  },
  "validityInterval": 2592001,
  "vc": {
    "type": [
      "VerifiedCredentialExpert"
    ]
  }
}
Propiedad Type Description
credentialType string El tipo de credencial que se solicita durante la emisión En el ejemplo anterior TrueIdentity:
contracts cadena (conjunto) La lista de direcciones URL del manifiesto para las credenciales solicitadas. En el ejemplo anterior, la URL del manifiesto es el manifiesto para True Identity.
trustedIssuers cadena (conjunto) Una lista de los DID de emisor permitidos para la credencial solicitada. En el ejemplo anterior, el DID se corresponde con el DID del emisor True Identity.

Valores

Experiencia de Authenticator durante la emisión

Durante la emisión, el dispositivo Authenticator solicita al usuario que seleccione una credencial coincidente. Si el usuario tiene varias credenciales coincidentes en la cartera, deberá seleccionar cuál presentar.

Screenshot of presentations claims input.

Configuración de los ejemplos para emitir la credencial personalizada

Para configurar el código de ejemplo para emitir y comprobar la credencial personalizada, necesita:

  • El identificador descentralizado (DID) del emisor del inquilino
  • Tipo de credencial
  • La dirección URL del manifiesto de la credencial

La manera más fácil de encontrar esta información para una credencial personalizada es ir a la credencial en Azure Portal. Seleccione Emitir credencial. Allí podrá acceder a un cuadro de texto con una carga JSON para la API de servicio de solicitud. Reemplace los valores de marcador de posición por la información de su entorno. El DID del emisor es el valor de autoridad.

Screenshot of the quickstart custom credential issue.

Pasos siguientes

Consulte las Referencia a las definiciones de reglas y visualización.