Freigeben über


Aufrufen der Anforderungsdienst-REST-API

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

API-Zugriffstoken

Damit Ihre Anwendung auf die Anforderungsdienst-REST-API zugreifen kann, müssen Sie neben den erforderlichen Berechtigungen ein gültiges Zugriffstoken hinzufügen. Die von Microsoft Identity Platform ausgestellten Zugriffstoken enthalten Informationen (Bereiche), welche die Anforderungsdienst-REST-API verwendet, um den Aufrufer zu überprüfen. Durch ein Zugriffstoken wird sichergestellt, dass der Anrufer die ordnungsgemäßen Berechtigungen hat, um den Vorgang auszuführen, der angefordert wird.

Um ein Zugriffstoken zu erhalten, muss Ihre App bei der Plattform Microsoft Identity Platform registriert sein und von einem*einer Administrator*in für den Zugriff auf die Anforderungsdienst-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.

Abrufen eines Zugriffstokens

Verwenden Sie den Flow zur Gewährung von OAuth 2.0-Clientanmeldeinformationen, um mithilfe von Microsoft Identity Platform das Zugriffstoken anzufordern. Verwenden Sie dazu eine vertrauenswürdige Bibliothek. In diesem Tutorial wird die Microsoft-Authentifizierungsbibliothek (Microsoft Authentication Library), (MSAL) verwendet. MSAL vereinfacht das Hinzufügen von Authentifizierung und Autorisierung zu einer Anwendung, 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 vorangehenden Code die folgenden Parameter an:

Parameter Condition BESCHREIBUNG
Authority 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.)
Client-ID Erforderlich Die Anwendungs-ID, die Ihrer App zugewiesen ist. Diese Informationen finden Sie 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. Mit dieser Einstellung wird ein Zugriffstoken mit einem Rollenanspruch von VerifiableCredential.Create.All erstellt.

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

Um einen Nachweis auszustellen oder zu überprüfen:

  1. Erstellen Sie eine HTTP POST-Anforderung für die Anforderungsdienst-REST-API. Die Mandanten-ID wird in der URL nicht mehr benötigt, da sie als Anspruch im Zugriffstoken enthalten ist.

    Abgang

    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 Bearertoken an den Autorisierungsheader 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 Anforderung an die Anforderungsdienst-REST-API.

Die Anforderungsdienst-API gibt für einen erfolgreichen Aufruf einen HTTP-Statuscode 201 Created 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 Anforderungsdienst-REST-API – Spezifikation für die Ausstellung.

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

{...JSON payload...}

Ausstellungsanforderung mithilfe des idTokenHint-Nachweisflusses:

{
    "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 Beispiele:

Beispiel für Präsentationsanforderung

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

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 Beispiele:

Rückrufereignisse

Die Anforderungsnutzdaten enthalten den Ausstellungs- und Präsentations-Rückrufendpunkt. Der Endpunkt ist Bestandteil 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. Solche Ereignisse können beispielsweise das Scannen des QR-Codes durch einen Benutzer, das Verwenden des Deep-Links zur Authentifikator-App oder das Beenden des Präsentationsprozesses sein.

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 für das Lauschen auf eingehende HTTP POST-Anforderungen. Im folgenden Codeausschnitt wird veranschaulicht, wie die HTTP-Anforderung für den Ausstellungsrückruf behandelt und die Benutzeroberfläche entsprechend aktualisiert werden kann:

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

Nächste Schritte

Hier erfahren Sie mehr über diese Spezifikationen: