Créer des informations d’identification vérifiables pour les jetons d’ID

Une définition de règles qui utilise l’attestation idTokens produit un flux d’émission dans lequel vous devez effectuer une connexion interactive à un fournisseur d’identité OpenID Connect (OIDC) dans Microsoft Authenticator. Les revendications dans le jeton d’ID retourné par le fournisseur d’identité peuvent être utilisées pour renseigner les informations d’identification vérifiables émises. La section de mappage des revendications dans la définition de règles spécifie les revendications utilisées.

Créer des informations d’identification personnalisées avec le type d’attestation idTokens

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 de la création d’informations d’identification personnalisé.

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 de type. 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": {
      "title": "Verified Credential Expert",
      "issuedBy": "Microsoft",
      "backgroundColor": "#000000",
      "textColor": "#ffffff",
      "logo": {
        "uri": "https://didcustomerplayground.blob.core.windows.net/public/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.userName",
        "label": "User name",
        "type": "String"
      },
      {
        "claim": "vc.credentialSubject.displayName",
        "label": "Display name",
        "type": "String"
      },
      {
        "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 idTokens, les détails de la configuration OIDC (clientId, configuration, redirectUri et étendue) et la section de mappage des revendications. Le JSON attendu pour les définitions de règles est le contenu interne de l’attribut de règles, qui commence par l’attribut d’attestation.

Le mappage des revendications dans l’exemple suivant nécessite que vous configuriez le jeton comme expliqué dans la section Revendications dans le jeton d’ID du fournisseur d’identité.

{
  "attestations": {
    "idTokens": [
      {
        "clientId": "8d5b446e-22b2-4e01-bb2e-9070f6b20c90",
        "configuration": "https://didplayground.b2clogin.com/didplayground.onmicrosoft.com/B2C_1_sisu/v2.0/.well-known/openid-configuration",
        "redirectUri": "vcclient://openid/",
        "scope": "openid profile email",
        "mapping": [
          {
            "outputClaim": "userName",
            "required": true,
            "inputClaim": "$.upn",
            "indexed": true
          },
          {
            "outputClaim": "displayName",
            "required": true,
            "inputClaim": "$.name",
            "indexed": false
          },
          {
            "outputClaim": "firstName",
            "required": true,
            "inputClaim": "$.given_name",
            "indexed": false
          },
          {
            "outputClaim": "lastName",
            "required": true,
            "inputClaim": "$.family_name",
            "indexed": false
          }
        ],
        "required": false
      }
    ]
  },
  "validityInterval": 2592000,
  "vc": {
    "type": [
      "VerifiedCredentialExpert"
    ]
  }
}

Inscription de l’application

L’attribut clientId est l’ID d’application d’une application inscrite dans le fournisseur d’identité OIDC. Pour Microsoft Entra ID, vous créez l’application en effectuant les étapes suivantes :

  1. Dans le portail Azure, accédez à Microsoft Entra ID.

  2. Sélectionnez Inscriptions d’applications, Nouvelle inscription, puis donnez un nom à l’application.

    Si vous souhaitez que seuls les comptes de votre locataire puissent se connecter, laissez la case Comptes dans cet annuaire uniquement cochée.

  3. Dans URI de redirection (facultatif), sélectionnez Client public/natif (bureau et mobile), puis entrez vcclient://openid/.

Si vous souhaitez pouvoir tester les revendications contenues dans le jeton Microsoft Entra, effectuez les étapes suivantes :

  1. Dans le volet gauche, sélectionnez Authentification> Ajouter une plateforme>Web.

  2. Pour URI de redirection, entrez https://jwt.ms, puis sélectionnez Jetons d’ID (utilisés pour les flux implicites et hybrides).

  3. Sélectionnez Configurer.

Une fois que vous avez terminé de tester votre jeton d’ID, vous pouvez supprimer https://jwt.ms et la prise en charge des flux implicites et hybrides.

Pour Microsoft Entra ID : vous pouvez tester l’inscription de votre application et, si vous avez activé la prise en charge de la redirection vers https://jwt.ms, obtenir un jeton d’ID en exécutant ce qui suit dans votre navigateur :

https://login.microsoftonline.com/<your-tenantId>/oauth2/v2.0/authorize?client_id=<your-appId>&nonce=defaultNonce&redirect_uri=https%3A%2F%2Fjwt.ms&scope=openid%20profile&response_type=id_token&prompt=login

Dans le code, remplacez <your-tenantId> par votre ID de locataire. Pour obtenir les revendications supplémentaires, vous devez avoir un profil dans le cadre de l’étendue.

Pour Azure Active Directory B2C : le processus d’inscription d’application est identique, mais B2C offre une prise en charge intégrée au portail Azure pour tester vos stratégies B2C via la fonctionnalité Exécuter le flux utilisateur.

Revendications dans le jeton d’ID du fournisseur d’identité

Les revendications doivent exister dans le fournisseur d’identité retourné afin de pouvoir renseigner correctement vos informations d’identification vérifiables.

Si les revendications n’existent pas, les informations d’identification vérifiables émises ne contiennent aucune valeur. La plupart des fournisseurs d’identité OIDC n’émettent pas de revendication dans un jeton d’ID si la revendication a une valeur Null dans votre profil. Veillez à inclure la revendication dans la définition de jeton d’ID, et à vérifier que vous avez entré une valeur pour la revendication dans votre profil utilisateur.

Pour Microsoft Entra ID : pour configurer les revendications à inclure dans votre jeton, consultez Fournir des revendications facultatives à votre application. La configuration s’effectue par application. Cette configuration doit donc être destinée à l’application ayant l’ID d’application spécifié dans l’ID client dans la définition de règles.

Pour faire correspondre les définitions d’affichage et de règles, vous devez faire en sorte que le JSON optionalClaims facultatif de votre application ressemble à ce qui suit :

"optionalClaims": {
    "idToken": [
        {
            "name": "upn",
            "source": null,
            "essential": false,
            "additionalProperties": []
        },
        {
            "name": "family_name",
            "source": null,
            "essential": false,
            "additionalProperties": []
        },
        {
            "name": "given_name",
            "source": null,
            "essential": false,
            "additionalProperties": []
        },
        {
            "name": "preferred_username",
            "source": null,
            "essential": false,
            "additionalProperties": []
        }
    ],
    "accessToken": [],
    "saml2Token": []
},

Pour Azure Active Directory B2C : la configuration d’autres revendications dans votre jeton d’ID dépend selon que votre stratégie B2C est un flux utilisateur ou une stratégie personnalisée. Pour plus d’informations sur les flux utilisateur, consultez Configurer un flux d’inscription et de connexion dans Azure Active Directory B2C. Pour plus d’informations sur la stratégie personnalisée, consultez Fournir des revendications facultatives à votre application.

Pour les autres fournisseurs d’identité, consultez la documentation correspondante.

Configurer les exemples pour émettre et vérifier 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.