Freigeben über


Erstellen von Nachweisen für ID-Token

Eine Regeldefinition, die den IdTokens-Nachweis verwendet, erzeugt einen Ausstellungsflow, in dem Sie eine interaktive Anmeldung bei einem OpenID Connect-Identitätsanbieter (OIDC) in Microsoft Authenticator durchführen müssen. Ansprüche im ID-Token, das der Identitätsanbieter zurückgibt, können verwendet werden, um die ausgestellten Nachweise aufzufüllen. Der Abschnitt „Anspruchszuordnung“ in der Regeldefinition gibt an, welche Ansprüche verwendet werden.

Erstellen eines benutzerdefinierten Nachweises mit dem idTokens-Nachweistyp

Wenn Sie im Azure-Portal Anmeldeinformationen hinzufügen auswählen, erhalten Sie die Möglichkeit, zwei Schnellstarts zu starten. Wählen Sie Benutzerdefinierte Anmeldeinformationen und dann Weiter aus.

Screenshot: Schnellstart „Nachweise ausstellen“ zum Erstellen von benutzerdefinierten Nachweisen

Geben Sie auf der Seite Neuen Nachweis erstellen den JSON-Code für die Anzeige- und Regeldefinitionen ein. Geben Sie im Feld Name der Anmeldeinformationen einen Namen für die Anmeldeinformationen ein. Wählen Sie Erstellen, um die Anmeldeinformationen zu erstellen.

Screenshot: Seite „Neuen Nachweis erstellen“ mit Anzeige von JSON-Beispielen für Anzeige- und Regeldateien

Beispiel-JSON-Anzeigedefinitionen

Die JSON-Anzeigedefinition ist unabhängig vom Nachweistyp nahezu identisch. Sie müssen nur die Bezeichnungen entsprechend den Ansprüchen anpassen, über die Ihr Nachweis verfügt. Die erwartete JSON für die Anzeigedefinitionen ist der innere Inhalt der Anzeigensammlung. Der JSON-Code ist eine Sammlung. Wenn Sie also mehrere Gebietsschemas unterstützen möchten, fügen Sie mehrere Einträge mit einem Komma als Trennzeichen hinzu.

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

Beispiel-JSON-Regeldefinitionen

Die JSON-Nachweisdefinition sollte den IdTokens-Namen, die OIDC-Konfigurationsdetails (ClientID, Konfiguration, redirectUri und Umfang) und den Abschnitt „Anspruchszuordnung“ enthalten. Die erwartete JSON für die Regeldefinitionen ist der innere Inhalt des Regelattributs, das mit dem Nachweisattribut beginnt.

Die Anspruchszuordnung im folgenden Beispiel erfordert, dass Sie das Token konfigurieren, wie im Abschnitt Ansprüche im ID-Token vom Identitätsanbieter erläutert.

{
  "attestations": {
    "idTokens": [
      {
        "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
        "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"
    ]
  }
}

Anwendungsregistrierung

Das Attribut „clientId“ ist die Anwendungs-ID einer registrierten Anwendung im OIDC-Identitätsanbieter. Für Microsoft Entra ID erstellen Sie die Anwendung wie folgt:

  1. Navigieren Sie im Azure-Portal zu Microsoft Entra ID.

  2. Wählen Sie App-Registrierungen und anschließend Neue Registrierung aus, und geben Sie der App einen Namen.

    Wenn sich nur Konten in Ihrem Mandanten anmelden können sollen, lassen Sie das Kontrollkästchen Nur Konten in diesem Verzeichnis aktiviert.

  3. Wählen Sie unter Umleitungs-URI (optional) die Option Öffentlicher Client/nativ (mobil Desktop) aus, und geben Sie dann vcclient://openid/ ein.

Wenn Sie testen möchten, welche Ansprüche im Microsoft Entra-Token vorhanden sind, gehen Sie wie folgt vor:

  1. Wählen Sie im linken Bereich Authentifizierung>Plattform hinzufügen>Web aus.

  2. Geben Sie https://jwt.ms als Umleitungs-URI ein, und wählen Sie dann ID-Token (werden für implizite und Hybridflows verwendet) aus.

  3. Wählen Sie Konfigurierenaus.

Sobald Sie das Testen Ihres ID-Token abgeschlossen haben, sollten Sie https://jwt.ms und die Unterstützung für implizite und Hybridflows ggf. entfernen.

For Microsoft Entra ID: Sie können Ihre App-Registrierung testen. Wenn Sie die Unterstützung für die Umleitung zu https://jwt.ms aktiviert haben, können Sie ein ID-Token abrufen, indem Sie Folgendes im Browser ausführen:

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

Ersetzen Sie <your-tenantId> im Code durch Ihre Mandanten-ID. Um die zusätzlichen Ansprüche abzurufen, muss profile Teil von scope sein.

Für Azure Active Directory B2C: Der App-Registrierungsprozess ist identisch, aber B2C verfügt über integrierte Unterstützung im Azure-Portal, über die Sie Ihre B2C-Richtlinien mithilfe der Funktion Benutzerflow ausführen testen können.

Ansprüche im ID-Token vom Identitätsanbieter

Ansprüche müssen im zurückgegebenen Identitätsanbieter vorhanden sein, damit sie Ihren Nachweis erfolgreich auffüllen können.

Wenn die Ansprüche nicht vorhanden sind, ist im ausgestellten Nachweis kein Wert angegeben. Die meisten OIDC-Identitätsanbieter stellen keine Ansprüche in einem ID-Token aus, wenn der Anspruch einen Nullwert in Ihrem Profil aufweist. Achten Sie darauf, den Anspruch in die ID-Tokendefinition einzuschließen, und stellen Sie sicher, dass Sie einen Wert für den Anspruch in Ihrem Benutzerprofil eingegeben haben.

Für Microsoft Entra ID: Informationen zum Konfigurieren der Ansprüche, die in Ihr Token aufgenommen werden sollen, finden Sie unter Bereitstellen optionaler Ansprüche für Ihre App. Die Konfiguration gilt pro Anwendung. Diese Konfiguration sollte daher für die App mit der Anwendungs-ID gelten, die in der Client-ID in der Regeldefinition angegeben ist.

Zur Übereinstimmung mit den Anzeige- und Regeldefinitionen sollte der JSON-Code der Anwendung für optionalClaims wie folgt aussehen:

"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": []
},

Für Azure Active Directory B2C: Die Konfiguration anderer Ansprüche in Ihrem ID-Token hängt davon ab, ob Ihre B2C-Richtlinie ein Benutzerflow oder eine benutzerdefinierte Richtlinie ist. Informationen zu Benutzerflows finden Sie unter Einrichten eines Registrierungs- und Anmeldeflows in Azure Active Directory B2C. Informationen zu benutzerdefinierten Richtlinien finden Sie unter Bereitstellen optionaler Ansprüche für Ihre App.

Informationen zu anderen Identitätsanbietern erhalten Sie in der entsprechenden Dokumentation.

Konfigurieren Sie die Beispiele, um Ihre benutzerdefinierten Anmeldeinformationen auszustellen und zu überprüfen.

Um Ihren Beispielcode so zu konfigurieren, dass er benutzerdefinierte Nachweise ausgibt und überprüft wird, benötigen Sie Folgendes:

  • Der dezentrale Bezeichner (DID) für den Aussteller Ihres Mandanten
  • Der Anmeldeinformationstyp
  • Die Manifest-URL zu Ihren Anmeldeinformationen

Am schnellsten finden Sie diese Informationen für benutzerdefinierte Anmeldeinformationen, wenn Sie zu Ihren Anmeldeinformationen im Azure-Portal navigieren. Wählen Sie Problemanmeldeinformationen aus. Daraufhin haben Sie Zugriff auf ein Textfeld mit einer JSON-Nutzlast für die Request Service API. Ersetzen Sie die Platzhalterwerte durch die Informationen Ihrer Umgebung. Die DID des Ausstellers ist der Autoritätswert.

Screenshot: Schnellstart für die Ausstellung benutzerdefinierter Anmeldeinformationen

Nächste Schritte

Lesen Sie die Referenz zu Regel- und Anzeigedefinitionen.