Sdílet prostřednictvím


Zavolejte rozhraní REST API žádosti služeb

Microsoft Entra Verified ID zahrnuje rozhraní REST API služby žádosti. Toto rozhraní API umožňuje vydávat a ověřovat přihlašovací údaje. V tomto článku se dozvíte, jak začít používat rozhraní REST API služby požadavků.

Přístupový token rozhraní API

Vaše aplikace musí obsahovat platný přístupový token s požadovanými oprávněními, aby měla přístup k rozhraní REST API služby požadavku. Přístupové tokeny vydané platformou Microsoft Identity Platform obsahují informace (obory), které rozhraní REST API vyžádané služby používá k ověření volajícího. Přístupový token zajišťuje, že volající má správná oprávnění k provedení operace, kterou požaduje.

Pokud chcete získat přístupový token, musí být vaše aplikace zaregistrovaná na platformě Microsoft Identity Platform a musí být autorizována správcem pro přístup k rozhraní REST API služby žádosti. Pokud jste nezaregistrovali aplikaci pro ověřitelné přihlašovací údaje, podívejte se , jak aplikaci zaregistrovat, a pak vygenerovat tajemství aplikace.

Získání přístupového tokenu

Pomocí přihlašovacích údajů klienta OAuth 2.0 udělte toku k získání přístupového tokenu pomocí platformy Microsoft Identity Platform. Pro tento účel použijte důvěryhodnou knihovnu. V tomto kurzu používáme knihovnu Microsoft Authentication Library (MSAL). MSAL zjednodušuje přidávání ověřování a autorizace do aplikace, která může volat zabezpečené webové rozhraní 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

V předchozím kódu zadejte následující parametry:

Parametr Podmínka Popis
Autorita Požadovaný Tenant adresáře, na kterém aplikace plánuje pracovat. Příklad: https://login.microsoftonline.com/{your-tenant}. (Nahraďte your-tenant vaším ID tenanta nebo názvem.)
ID klienta Požadovaný ID aplikace, které je přiřazené k vaší aplikaci. Tyto informace najdete na webu Azure Portal, kde jste aplikaci zaregistrovali.
Klientské tajemství Povinný Tajný klíč klienta, který jste vygenerovali pro aplikaci.
Oblasti Povinný Musí být nastavena na 3db474b9-6a0c-4840-96ac-1fceb342124f/.default. Toto nastavení vytvoří přístupový token s rolemi deklarací identity VerifiableCredential.Create.All.

Další informace o získání přístupového tokenu pomocí identity konzolové aplikace najdete v jednom z následujících článků:

Můžete také získat přístup k žádosti o token s certifikátem místo tajného klíče klienta.

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

Zavolejte rozhraní API

Pokud chcete vydat nebo ověřit ověřitelné přihlašovací údaje:

  1. Vytvořte požadavek HTTP POST na rozhraní REST API služby Request. ID tenanta už není v adrese URL potřeba, protože se v přístupovém tokenu nachází jako deklarace identity.

    Úkol

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

    Ověřit

    POST https://verifiedid.did.msidentity.com/v1.0/verifiableCredentials/createPresentationRequest
    
  2. Připojte přístupový token jako nosný token k autorizační hlavičce v požadavku HTTP.

    Authorization: Bearer <token>
    
  3. Nastavte záhlaví Content-Type na Application/json.

  4. Připravte a připojte datovou část požadavku vystavení nebo prezentaci do obsahu požadavku.

  5. Odešlete požadavek do rozhraní REST API služby.

API rozhraní požadavku služby vrátí stavový kód HTTP 201 Created v případě úspěšného volání. Pokud volání rozhraní API vrátí chybu, zkontrolujte dokumentaci pro referenci chyby .

Příklad žádosti o vystavení

Následující příklad ukazuje ověřitelnou žádost o vystavení přihlašovacích údajů. Informace o datové části najdete v tématu Specifikace vystavení rozhraní REST API požadavku služby.

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

{...JSON payload...}

Žádost o vystavení s využitím toku ověření identity 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"
    }
}

Kompletní kód najdete v jedné z následujících ukázek kódu:

Příklad žádosti o prezentaci

Následující příklad ukazuje ověřitelnou žádost o prezentaci přihlašovacích údajů. Informace o datové části najdete v tématu Specifikace prezentace rozhraní REST API požadavku služby.

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

{...JSON payload...}

Žádost o prezentaci osvědčení s určitým typem a vystavitelem:

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

Kompletní kód najdete v jedné z následujících ukázek kódu:

Události zpětného volání

Datová část požadavku obsahuje koncový bod zpětného volání pro vystavení a prezentace. Koncový bod je součástí vaší webové aplikace a měl by být veřejně dostupný prostřednictvím protokolu HTTPS. Rozhraní API vyžádané služby volá koncový bod, aby informoval vaši aplikaci o určitých událostech. Takové události můžou být například, když uživatel naskenuje kód QR, použije přímý odkaz na ověřovací aplikaci nebo dokončí proces prezentace.

Následující diagram popisuje volání, které vaše aplikace provede do rozhraní REST API služby Request, a zpětná volání do vaší aplikace.

Diagram znázorňující volání rozhraní API a událostí zpětného volání

Nakonfigurujte koncový bod tak, aby naslouchal příchozím požadavkům HTTP POST. Následující ukázka kódu demonstruje, jak zpracovat HTTP požadavek zpětného volání při vystavení a jak odpovídajícím způsobem aktualizovat UI:

Nelze použít. Zvolte jeden z dalších programovacích jazyků.

Další kroky

Další informace o těchto specifikacích: