Partager via


Émettre des justificatifs vérifiables en présentant des revendications provenant d’un justificatif vérifiable existant

Une définition de règles qui utilise le type d’attestation de présentations produit un flux d’émission où vous souhaitez que l’utilisateur présente un autre justificatif vérifiable dans le portefeuille pendant l’émission et où les valeurs de revendication pour l’émission du nouveau justificatif sont extraites du justificatif présenté. Un exemple de ceci peut être lorsque vous présentez votre justificatif VerifiedEmployee pour obtenir un justificatif de laissez-passer pour des visiteurs.

Créer des informations d’identification personnalisées avec le type d’attestation de présentations

Dans le portail Azure, lorsque vous sélectionnez Ajouter des informations d’identification, vous pouvez lancer deux guides de démarrage rapide. Sélectionnez Informations d’identification personnalisées, puis Suivant.

Capture d’écran du démarrage rapide « Émettre des informations d’identification » pour la création d’informations d’identification personnalisées.

Dans la page Créer des informations d’identification, entrez le code JSON pour les définitions de règles et d’affichage. Dans la zone Nom des informations d’identification, affectez un nom. Ce nom n’est qu’un nom interne pour les informations d’identification dans le portail. Le nom de type des informations d’identification est défini dans le nom de propriété vc.type dans la définition des règles. Pour créer les informations d’identification, sélectionnez Créer.

Capture d’écran de la page « Créer des informations d’identification » affichant des exemples de JSON pour les fichiers d’affichage et de règles.

Exemples de définitions d’affichage JSON

La définition d’affichage JSON est presque la même quel que soit le type d’attestation. Vous n’avez qu’à ajuster les étiquettes en fonction des revendications de vos informations d’identification vérifiables. Le JSON attendu pour les définitions d’affichage est le contenu interne de la collection d’affichages. Le code JSON est une collection. Par conséquent, si vous souhaitez prendre en charge plusieurs paramètres régionaux, ajoutez plusieurs entrées séparées par des virgules.

{
  "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"
    }
  ]
}

Exemples de définitions de règles JSON

La définition d’attestation JSON doit contenir le nom de présentations. inputClaim dans la section de mappage définit les revendications à capturer dans les informations d’identification que l’utilisateur présente. Elles doivent avoir le préfixe $.vc.credentialSubject. outputClaim définit le nom des revendications dans les informations d’identification émises.

La définition de règles suivante demande à l’utilisateur de présenter les informations d’identification True Identity lors de l’émission. Ces informations d’identification proviennent de l’application de démonstration publique.

{
  "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"
    ]
  }
}
Propriété Type Description
credentialType string type d’informations d’identification demandé pendant l’émission. TrueIdentity dans l’exemple ci-dessus.
contracts chaîne (tableau) liste des URL du manifeste des informations d’identification demandées. Dans l’exemple ci-dessus, l’URL du manifeste est le manifeste pour True Identity
trustedIssuers chaîne (tableau) liste des DID d’émetteur autorisés pour les informations d’identification demandées. Dans l’exemple ci-dessus, le DID est le DID de l’émetteur True Identity.

Valeurs

Expérience Authenticator lors de l’émission

Lors de l’émission, Authenticator invite l’utilisateur à sélectionner des informations d’identification correspondantes. Si l’utilisateur a plusieurs informations d’identification correspondantes dans le portefeuille, l’utilisateur doit sélectionner celles à présenter.

Capture d’écran de l’entrée de revendications de présentations.

Configurer les exemples pour émettre vos informations d’identification personnalisées

Pour configurer votre exemple de code de façon à émettre et à vérifier vos informations d’identification personnalisées, vous avez besoin des éléments suivants :

  • Identificateur décentralisé (DID) de l’émetteur de votre locataire
  • Type d’informations d’identification
  • URL du manifeste vers vos informations d’identification

Le moyen le plus simple de trouver ces informations pour des informations d’identification personnalisées consiste à accéder à vos informations d’identification dans le portail Azure. Sélectionnez Informations d’identification du problème. Ensuite, vous avez accès à une zone de texte avec une charge utile JSON pour l’API de service de demande. Remplacez les valeurs d’espace réservé par les informations de votre environnement. Le DID de l’émetteur est la valeur d’autorité.

Capture d’écran de l’émission d’informations d’identification personnalisées dans le guide de démarrage rapide.

Étapes suivantes

Consultez les Informations de référence sur les définitions d’affichage et de règles.