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 verifierbar app för autentiseringsuppgifter kan du läsa hur du registrerar appen och sedan generera en programhemlighet.

Hämta en åtkomsttoken

Använd OAuth 2.0-flödet för klientuppgifters åtkomst för att erhålla å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 Tillstånd Beskrivning
Auktoritet Krävs Katalogklientorganisationen som programmet planerar att arbeta mot. Till exempel: https://login.microsoftonline.com/{your-tenant}. (Ersätt your-tenant med ditt klientorganisations-ID eller namn.)
Klient-ID Krävs 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 Krävs Klienthemligheten som du genererade för din app.
Scope Krävs Måste anges till 3db474b9-6a0c-4840-96ac-1fceb342124f/.default. Den här inställningen skapar en åtkomsttoken med ett roll anspråk på VerifiableCredential.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:et

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.

    Fråga

    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. Ställ in Content-Type-rubriken till Application/json.

  4. Förbered och bifoga utfärdande eller presentation begära nyttolast 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, kontrollera felreferensdokumentationen .

Exempel på utfärdandebegäran

I följande exempel visas en verifierbar begäran om utfärdande av autentiseringsuppgifter. Information om nyttolasten finns i Request Service REST API issuance specification.

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

{...JSON payload...}

Utfärdandebegäran med hjälp av idTokenHint attesteringsflöde:

{
    "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 REST API-presentationsspecifikation för request service.

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 utfärdande och presentation slutpunkt för å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 återanropsbegäran för utfärdande via HTTP och hur du därefter uppdaterar användargränssnittet:

Inte tillämpligt. Välj något av de andra programmeringsspråken.

Nästa steg

Läs mer om dessa specifikationer: