Dela via


Anropa REST-API:et för begärandetjänsten

Microsoft Entra – verifierat ID innehåller REST-API:et för begärandetjänsten. Med det här API:et kan du utfärda och verifiera autentiseringsuppgifter. Den här artikeln visar hur du börjar använda REST-API:et för begärandetjänsten.

API-åtkomsttoken

Ditt program måste innehålla en giltig åtkomsttoken med nödvändiga behörigheter så att det kan komma åt REST-API:et för begärandetjänsten. Åtkomsttoken som utfärdats av Microsofts identitetsplattform innehåller information (omfång) som REST API:et för begärandetjänsten använder för att verifiera anroparen. En åtkomsttoken säkerställer att anroparen har rätt behörighet att utföra den åtgärd som de begär.

För att få en åtkomsttoken måste din app registreras med Microsofts identitetsplattform och godkännas av en administratör för åtkomst till REST-API:et för begärandetjänsten. Om du inte har registrerat appen verifiable-credentials-app kan du läsa om hur du registrerar appen och sedan genererar en programhemlighet.

Hämta en åtkomsttoken

Använd beviljandeflödet för OAuth 2.0-klientautentiseringsuppgifter för att hämta åtkomsttoken med hjälp av Microsofts identitetsplattform. Använd ett betrott bibliotek för det här ändamålet. I den här självstudien använder vi Microsoft Authentication Library (MSAL). MSAL förenklar tillägg av autentisering och auktorisering till en app som kan anropa ett säkert webb-API.

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

I föregående kod anger du följande parametrar:

Parameter Villkor beskrivning
Utfärdare Obligatoriskt Katalogklientorganisationen som programmet planerar att arbeta mot. Exempel: https://login.microsoftonline.com/{your-tenant}. (Ersätt your-tenant med ditt klientorganisations-ID eller namn.)
Client ID Obligatoriskt Det program-ID som har tilldelats till din app. Du hittar den här informationen i Azure-portalen, där du registrerade din app.
Klienthemlighet Obligatoriskt Klienthemligheten som du genererade för din app.
Omfattningar Obligatoriskt Måste anges till 3db474b9-6a0c-4840-96ac-1fceb342124f/.default. Den här inställningen skapar en åtkomsttoken med ett rollanspråkVerifiableCredential.Create.All.

Mer information om hur du hämtar en åtkomsttoken med hjälp av en konsolapps identitet finns i någon av följande artiklar:

Du kan också komma åt en tokenbegäran med ett certifikat i stället för en klienthemlighet.

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

Anropa API

Så här utfärdar eller verifierar du en verifierbar autentiseringsuppgift:

  1. Skapa en HTTP POST-begäran till REST-API:et för begärandetjänsten. Klientorganisations-ID:t behövs inte längre i URL:en eftersom det finns som ett anspråk i åtkomsttoken.

    Problem

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

    Verifiera

    POST https://verifiedid.did.msidentity.com/v1.0/verifiableCredentials/createPresentationRequest
    
  2. Bifoga åtkomsttoken som en ägartoken i auktoriseringshuvudet i en HTTP-begäran.

    Authorization: Bearer <token>
    
  3. Content-Type Ange rubriken till Application/json.

  4. Förbered och bifoga nyttolasten för utfärdande eller presentationsbegäran till begärandetexten.

  5. Skicka begäran till REST-API:et för begärandetjänsten.

API:et för begärandetjänsten returnerar en HTTP-statuskod 201 Created vid ett lyckat anrop. Om API-anropet returnerar ett fel kontrollerar du dokumentationen för felreferensen.

Exempel på utfärdandebegäran

I följande exempel visas en verifierbar begäran om utfärdande av autentiseringsuppgifter. Information om nyttolasten finns i Rest API-utfärdandespecifikation för begärandetjänsten.

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

{...JSON payload...}

Utfärdandebegäran med attesteringsflödet 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"
    }
}

Fullständig kod finns i något av följande kodexempel:

Exempel på presentationsbegäran

I följande exempel visas en presentationsförfrågan om verifierbara autentiseringsuppgifter. Information om nyttolasten finns i Presentationsspecifikation för REST API för begärandetjänst.

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

{...JSON payload...}

Presentationsbegäran för en autentiseringsuppgift med en viss typ och utfärdare:

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

Fullständig kod finns i något av följande kodexempel:

Återanropshändelser

Nyttolasten för begäran innehåller slutpunkten för utfärdande och presentationsåteranrop . Slutpunkten är en del av webbprogrammet och bör vara offentligt tillgänglig via HTTPS-protokollet. API:et för begärandetjänsten anropar slutpunkten för att informera din app om vissa händelser. Sådana händelser kan till exempel vara när en användare söker igenom QR-koden, använder den djupa länken till autentiseringsappen eller avslutar presentationsprocessen.

I följande diagram beskrivs det anrop som din app gör till REST-API:et för begärandetjänsten och återanropen till ditt program.

Diagram som visar anropet till API:et och motringningshändelserna.

Konfigurera slutpunkten så att den lyssnar på inkommande HTTP POST-begäranden. Följande kodfragment visar hur du hanterar HTTP-begäran om återanrop till utfärdande och hur du uppdaterar användargränssnittet i enlighet med detta:

Ej tillämpbart. Välj något av de andra programmeringsspråken.

Nästa steg

Läs mer om dessa specifikationer: