Delen via


De REST API van de aanvraagservice aanroepen

Microsoft Entra Verified ID omvat de REST API van de aanvraagservice. Met deze API kunt u referenties uitgeven en verifiëren. In dit artikel leest u hoe u de REST API van de aanvraagservice kunt gaan gebruiken.

API-toegangstoken

Uw toepassing moet een geldig toegangstoken met de vereiste machtigingen bevatten, zodat deze toegang heeft tot de REST API van de aanvraagservice. Toegangstokens die zijn uitgegeven door het Microsoft Identity Platform bevatten informatie (bereiken) die door de REST API van de aanvraagservice worden gebruikt om de aanroeper te valideren. Een toegangstoken zorgt ervoor dat de aanroeper over de juiste machtigingen beschikt om de bewerking uit te voeren die ze aanvragen.

Als u een toegangstoken wilt ophalen, moet uw app worden geregistreerd bij het Microsoft Identity Platform en worden geautoriseerd door een beheerder voor toegang tot de REST API van de aanvraagservice. Als u de toepassing verifieerbare-credentials-app nog niet hebt geregistreerd, bekijkt u hoe u de app registreert en daarna het toepassingsgeheim genereert.

Een toegangstoken ophalen

Gebruik de OAuth 2.0-cliëntreferenties flow om het toegangstoken te verkrijgen met behulp van het Microsoft Identity Platform. Gebruik hiervoor een vertrouwde bibliotheek. In deze zelfstudie gebruiken we de Microsoft Authentication Library (MSAL-). MSAL vereenvoudigt het toevoegen van verificatie en autorisatie aan een app die een beveiligde web-API kan aanroepen.

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

Geef in de voorgaande code de volgende parameters op:

Parameter Conditie Beschrijving
Autoriteit Vereist De directory tenant waarmee de toepassing wil werken. Bijvoorbeeld: https://login.microsoftonline.com/{your-tenant}. (Vervang your-tenant door uw tenant-id of -naam.)
Klant-ID Vereist De toepassings-id die is toegewezen aan uw app. U vindt deze informatie in Azure Portal, waar u uw app hebt geregistreerd.
Clientgeheim Vereist Het clientgeheim dat u hebt gegenereerd voor uw app.
Toepassingsgebieden Vereist Moet worden ingesteld op 3db474b9-6a0c-4840-96ac-1fceb342124f/.default. Deze instelling produceert een toegangstoken met een rollen claim van VerifiableCredential.Create.All.

Zie een van de volgende artikelen voor meer informatie over het verkrijgen van een toegangstoken met behulp van de identiteit van een console-app:

U kunt ook toegang krijgen tot een tokenaanvraag met een certificaat in plaats van een clientgeheim.

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

De API aanroepen

Een verifieerbare referentie uitgeven of verifiëren:

  1. Maak een HTTP POST-aanvraag naar de REST API van de aanvraagservice. De tenant-id is niet meer nodig in de URL omdat deze aanwezig is als een claim in het toegangstoken.

    Probleem

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

    Verifieer

    POST https://verifiedid.did.msidentity.com/v1.0/verifiableCredentials/createPresentationRequest
    
  2. Koppel het toegangstoken als bearer-token aan de autorisatieheader in een HTTP-aanvraag.

    Authorization: Bearer <token>
    
  3. Stel de Content-Type-header in op Application/json.

  4. Bereid en koppel de -uitgifte of -presentatie-verzoekpayload aan de body van het verzoek.

  5. Dien de aanvraag in bij de REST API van de aanvraagservice.

De AANVRAAGservice-API retourneert een HTTP-statuscode 201 Created bij een geslaagde aanroep. Als de API-aanroep een fout retourneert, raadpleeg dan de documentatie voor foutreferenties .

Voorbeeld van uitgifteaanvraag

Het volgende voorbeeld toont een aanvraag voor het uitgeven van verifieerbare referentiegegevens. Zie de uitgiftespecificatie van de aanvraagservice REST API in voor meer informatie over de payload.

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

{...JSON payload...}

Uitgifteaanvraag via het idTokenHint attestation-proces.

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

Zie een van de volgende codevoorbeelden voor de volledige code:

Voorbeeld van presentatieaanvraag

In het volgende voorbeeld ziet u een verifieerbare presentatieaanvraag voor referenties. Zie Application Service REST API-presentatiespecificatievoor meer informatie over de nettolading.

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

{...JSON payload...}

Presentatieaanvraag voor een referentiebewijs met een bepaald type en uitgever.

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

Zie een van de volgende codevoorbeelden voor de volledige code:

Callback-gebeurtenissen

De verzoekpayload bevat de uitgifte en de presentatie callback-URL. Het eindpunt maakt deel uit van uw webtoepassing en moet openbaar beschikbaar zijn via het HTTPS-protocol. De Api voor aanvraagservice roept uw eindpunt aan om uw app te informeren over bepaalde gebeurtenissen. Dergelijke gebeurtenissen kunnen bijvoorbeeld zijn wanneer een gebruiker de QR-code scant, de dieptekoppeling naar de verificator-app gebruikt of het presentatieproces voltooit.

In het volgende diagram wordt de aanroep van uw app beschreven in de REST API van de aanvraagservice en de callbacks naar uw toepassing.

Diagram met de aanroep naar de API en de callback-gebeurtenissen.

Configureer uw eindpunt om te luisteren naar binnenkomende HTTP POST-aanvragen. In het volgende codefragment ziet u hoe u de HTTP-aanvraag voor de uitgifteaanroep kunt verwerken en hoe u de gebruikersinterface dienovereenkomstig bijwerkt:

Niet van toepassing. Kies een van de andere programmeertalen.

Volgende stappen

Meer informatie over deze specificaties: