Freigeben über


Aufrufen der REST-API des Anforderungsdienstes

Microsoft Entra Verified ID umfasst die REST-API für den Anforderungsdienst. Mit dieser API können Sie Zugangsdaten ausstellen und überprüfen. In diesem Artikel erfahren Sie, wie Sie mit der Verwendung der REST-API für den Anforderungsdienst beginnen.

API-Zugriffstoken

Ihre Anwendung muss ein gültiges Zugriffstoken mit den erforderlichen Berechtigungen enthalten, damit sie auf die REST-API des Request Services zugreifen kann. Die von Microsoft Identity Platform ausgestellten Zugriffstoken enthalten Informationen (Bereiche), welche die Anforderungsdienst-REST-API verwendet, um die aufrufende Person zu überprüfen. Ein Zugriffstoken stellt sicher, dass der Aufrufer über die richtigen Berechtigungen zum Ausführen des angeforderten Vorgangs verfügt.

Um ein Zugriffstoken zu erhalten, muss Ihre App bei der Microsoft Identity Platform registriert und von einem Administrator für den Zugriff auf die Anforderungsdienst-REST-API autorisiert werden. Wenn Sie die verifiable-credentials-app (Nachweise-App) noch nicht registriert haben, führen Sie die unter Registrieren der App beschriebenen Schritte aus und generieren Sie dann ein Anwendungsgeheimnis.

Zugriffstoken erhalten

Verwenden Sie den Flow zur Gewährung von OAuth 2.0-Clientanmeldeinformationen, um mithilfe von Microsoft Identity Platform das Zugriffstoken anzufordern. Verwenden Sie zu diesem Zweck eine vertrauenswürdige Bibliothek. In diesem Lernprogramm verwenden wir die Microsoft-Authentifizierungsbibliothek (MSAL). MSAL vereinfacht das Hinzufügen von Authentifizierung und Autorisierung zu einer App, die eine sichere Web-API aufrufen kann.

POST /{tenant}/oauth2/v2.0/token HTTP/1.1           //Line breaks for clarity
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded

client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&scope=3db474b9-6a0c-4840-96ac-1fceb342124f/.default
&client_secret=sampleCredentia1s
&grant_type=client_credentials

Geben Sie im vorherigen Code die folgenden Parameter an:

Parameter Zustand Beschreibung
Autorität Erforderlich Der Verzeichnismandant, der von der Anwendung für den Betrieb verwendet werden soll. Beispiel: https://login.microsoftonline.com/{your-tenant}. (Ersetzen Sie your-tenant mit Ihrer Mandanten-ID oder Ihrem Namen.)
Kunden-ID Erforderlich Die Anwendungs-ID, die Ihrer App zugewiesen ist. Sie finden diese Informationen im Azure-Portal, in dem Sie Ihre App registriert haben.
Geheimer Clientschlüssel Erforderlich Der geheime Clientschlüssel, den Sie für Ihre App generiert haben.
Bereiche Erforderlich Muss auf 3db474b9-6a0c-4840-96ac-1fceb342124f/.default festgelegt sein. Diese Einstellung erstellt ein Zugriffstoken mit einem Rollenanspruch auf VerifiableCredential.Create.All.

Weitere Informationen zum Abrufen eines Zugriffstokens mithilfe der Identität einer Konsolen-App finden Sie in einem der folgenden Artikel:

Sie können auch auf eine Tokenanforderung mit einem Zertifikat anstelle eines geheimen Clientschlüssels zugreifen.

POST /{tenant}/oauth2/v2.0/token HTTP/1.1   //Line breaks for clarity
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded

client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&scope=3db474b9-6a0c-4840-96ac-1fceb342124f/.default
&client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3Aclient-assertion-type%3Ajwt-bearer
&client_assertion=eyJhbGciOiJSUzI1NiIsIng1dCI6Imd4OHRHeXN5amNScUtqRlBuZDdSRnd2d1pJMCJ9.eyJ{a lot of characters here}M8U3bSUKKJDEg
&grant_type=client_credentials

Aufrufen der API

So stellen Sie einen verifizierbaren Berechtigungsnachweis aus oder überprüfen ihn:

  1. Erstellen Sie eine HTTP POST-Anforderung an die REST-API des Anforderungsdiensts. Die Mandanten-ID wird in der URL nicht mehr benötigt, da sie im Zugriffstoken als Anspruch vorhanden ist.

    Problem

    POST https://verifiedid.did.msidentity.com/v1.0/verifiableCredentials/createIssuanceRequest
    

    Überprüfen

    POST https://verifiedid.did.msidentity.com/v1.0/verifiableCredentials/createPresentationRequest
    
  2. Fügen Sie das Zugriffstoken als Bearer-Token an den Autorisierungsheader in einer HTTP-Anforderung an.

    Authorization: Bearer <token>
    
  3. Legen Sie den Header Content-Type auf Application/json fest.

  4. Bereiten Sie die Ausstellungs- oder Präsentations-Anforderungsnutzdaten vor, und fügen Sie sie an den Anforderungstext an.

  5. Übermitteln Sie die Anfrage an die REST-API des Anfragedienstes.

Die Anforderungsdienst-API gibt einen HTTP-Statuscode 201 Created für einen erfolgreichen Aufruf zurück. Wenn der API-Aufruf einen Fehler zurückgibt, überprüfen Sie die Fehlerreferenzdokumentation.

Beispiel für eine Ausstellungsanforderung

Im folgenden Beispiel wird eine Anforderung zur Nachweisausstellung veranschaulicht. Informationen zu den Nutzdaten finden Sie unter Spezifikation der Ausstellung für die Anforderungsdienst-REST-API.

POST https://verifiedid.did.msidentity.com/v1.0/verifiableCredentials/createIssuanceRequest
Content-Type: application/json
Authorization: Bearer  <token>

{...JSON payload...}

Ausstellungsanforderung mithilfe des Nachweisflusses idTokenHint:

{
    "authority": "did:web:verifiedid.contoso.com",
    "callback": {
        "url": "https://contoso.com/api/issuer/issuanceCallback",
        "state": "de19cb6b-36c1-45fe-9409-909a51292a9c",
        "headers": {
            "api-key": "OPTIONAL API-KEY for CALLBACK EVENTS"
        }
    },
    "registration": {
        "clientName": "Verifiable Credential Expert Sample"
    },
    "type": "VerifiedCredentialExpert",
    "manifestUrl": "https://verifiedid.did.msidentity.com/v1.0/00001111-aaaa-2222-bbbb-3333cccc4444/verifiableCredentials/contracts/VerifiedCredentialExpert1",
    "pin": {
        "value": "3539",
        "length": 4
    },
    "claims": {
        "given_name": "Megan",
        "family_name": "Bowen"
    }
}

Den vollständigen Code finden Sie in einem der folgenden Codebeispiele:

Beispiel für eine Präsentationsanforderung

Im folgenden Beispiel wird eine Anforderung zur Nachweispräsentation veranschaulicht. Informationen zu den Nutzdaten finden Sie unter Spezifikation der Präsentation der Anforderungsdienst-REST-API.

POST https://verifiedid.did.msidentity.com/v1.0/verifiableCredentials/createPresentationRequest
Content-Type: application/json
Authorization: Bearer  <token>

{...JSON payload...}

Präsentationsanforderung für Anmeldeinformationen mit einem bestimmtem Typ und Aussteller:

{
  "authority": "did:web:verifiedid.contoso.com",
  "callback": {
    "url": "https://contoso.com/api/verifier/presentationCallback",
    "state": "92d076dd-450a-4247-aa5b-d2e75a1a5d58",
    "headers": {
      "api-key": "OPTIONAL API-KEY for CALLBACK EVENTS"
    }
  },
  "registration": {
    "clientName": "Veritable Credential Expert Verifier"
  },
  "includeReceipt": true,
  "requestedCredentials": [
    {
      "type": "VerifiedCredentialExpert",
      "purpose": "So we can see that you a veritable credentials expert",
      "acceptedIssuers": [
        "did:web:verifiedid.contoso.com"
      ],
      "configuration": {
        "validation": {
          "allowRevoked": true,
          "validateLinkedDomain": true
        }
      }
    }
  ]
}

Den vollständigen Code finden Sie in einem der folgenden Codebeispiele:

Rückrufereignisse

Die Anforderungsnutzdaten enthalten den Ausstellungs- und Präsentations-Rückrufendpunkt. Der Endpunkt ist Teil Ihrer Webanwendung und sollte über das HTTPS-Protokoll öffentlich verfügbar sein. Die Anforderungsdienst-API ruft Ihren Endpunkt auf, um Ihre App über bestimmte Ereignisse zu informieren. Beispielsweise können solche Ereignisse sein, wenn ein Benutzer den QR-Code durchsucht, den Deep-Link zur Authentifikator-App verwendet oder den Präsentationsprozess beendet.

Im folgenden Diagramm werden der Aufruf ihrer App an die Anforderungsdienst-REST-API und die Rückrufe an Ihre Anwendung beschrieben.

Diagramm, das den Aufruf der API und die Rückrufereignisse zeigt.

Konfigurieren Sie Ihren Endpunkt so, dass eingehende HTTP POST-Anforderungen überwacht werden. Der folgende Codeausschnitt veranschaulicht, wie die Veröffentlichungsrückruf-HTTP-Anforderung behandelt wird und wie die Benutzeroberfläche entsprechend aktualisiert wird:

Nicht zutreffend. Wählen Sie eine der anderen Programmiersprachen aus.

Nächste Schritte

Weitere Informationen zu diesen Spezifikationen: