Delen via


Voorbeelden van communicatie met uitgevende instellingen

De Microsoft Entra Verified ID-service kan verifieerbare referenties uitgeven door claims op te halen uit een ID-token dat is gegenereerd door de OpenID-compatibele identiteitsprovider van uw organisatie. In dit artikel wordt uitgelegd hoe u uw identiteitsprovider instelt, zodat Authenticator ermee kan communiceren en het juiste id-token kan ophalen om door te geven aan de uitgevende service.

Om een verifieerbare referentie uit te geven, krijgt de authenticator de opdracht om door het downloaden van het contract input van de gebruiker te verzamelen en die informatie naar de uitgevende service te sturen. Als u een ID-token moet gebruiken, moet u uw identiteitsprovider zo instellen dat Authenticator zich kan aanmelden bij een gebruiker met behulp van het OpenID Connect-protocol. De claims in het resulterende ID-token worden gebruikt om de inhoud van uw verifieerbare referentie in te vullen. Authenticator verifieert de gebruiker met behulp van de OpenID Connect-autorisatiecodestroom. Uw OpenID-provider moet de volgende OpenID Connect-functies ondersteunen:

Eigenschap Beschrijving
Toekenningstype Moet het toekenningstype autorisatiecode ondersteunen.
Tokenindeling Moet niet-versleutelde compacte JWT's produceren.
Handtekening-algoritme Moet JWT's produceren die zijn ondertekend met RS 256.
Configuratiedocument Moet ondersteuning bieden voor OpenID Connect-configuratiedocument en jwks_uri.
Cliënt registratie Moet openbare clientregistratie ondersteunen met een redirect_uri waarde van vcclient://openid/.
PKCE Aanbevolen om veiligheidsredenen, maar niet verplicht.

Hieronder vindt u voorbeelden van het HTTP-verzoek dat naar uw identiteitsprovider wordt verzonden. Uw identiteitsprovider moet deze verzoeken accepteren en erop reageren in overeenstemming met de OpenID Connect-authenticatiestandaard.

Cliënt registratie

Als u een verifieerbare referentie wilt ontvangen, moeten uw gebruikers zich aanmelden bij uw IDP vanuit de Microsoft Authenticator-app .

Om deze uitwisseling mogelijk te maken, registreert u een applicatie bij uw identiteitsprovider. Als u Microsoft Entra ID gebruikt, vindt u de instructies hier. Gebruik de volgende waarden bij het registreren.

Configuratie Waarde
Toepassingsnaam <Issuer Name> Verifiable Credential Service
Doorverwijs-URI vcclient://openid/

Nadat u een toepassing hebt geregistreerd bij uw identiteitsprovider, registreert u de client-ID. Je gebruikt het in het volgende gedeelte. U moet ook de URL naar het bekende eindpunt voor de OIDC-compatibele identiteitsprovider opschrijven. De Issuing Service gebruikt dit eindpunt om de openbare sleutels te downloaden die nodig zijn om het ID-token te valideren zodra het door Authenticator is verzonden.

De geconfigureerde omleidings-URI wordt gebruikt door Authenticator, zodat deze weet wanneer de aanmelding is voltooid en het ID-token kan worden opgehaald.

Autorisatieaanvraag

De autorisatieaanvraag die naar uw identiteitsprovider wordt verzonden, gebruikt de volgende indeling.

GET /authorize?client_id=<client-id>&redirect_uri=vcclient%3A%2F%2Fopenid%2F&response_mode=query&response_type=code&scope=openid&state=12345&nonce=12345 HTTP/1.1
Host: www.contoso.com
Connection: Keep-Alive
Kenmerk Waarde
client_id De klant-ID die is verkregen tijdens het registratieproces van de toepassing.
redirect_uri Moet .vcclient://openid/
response_mode Moet ondersteunen query.
response_type Moet ondersteunen code.
scope Moet ondersteunen openid.
state Moet worden teruggestuurd naar de client volgens de OpenID Connect-standaard.
nonce Moet worden geretourneerd als een claim in het ID-token volgens de OpenID Connect-standaard.

Wanneer er een autorisatieverzoek wordt ontvangen, moet uw identiteitsprovider de gebruiker verifiëren en de nodige stappen ondernemen om het inloggen te voltooien, zoals meervoudige verificatie.

U kunt het aanmeldingsproces aanpassen aan uw behoeften. U kunt gebruikers vragen om aanvullende informatie te verstrekken, servicevoorwaarden te accepteren, voor hun inloggegevens te betalen en meer. Zodra alle stappen zijn voltooid, reageert u op de autorisatieaanvraag door om te leiden naar de omleidings-URI, zoals hieronder wordt weergegeven.

vcclient://openid/?code=nbafhjbh1ub1yhbj1h4jr1&state=12345
Kenmerk Waarde
code De autorisatiecode die door uw identiteitsprovider wordt geretourneerd.
state Moet worden teruggestuurd naar de client volgens de OpenID Connect-standaard.

Token aanvraag

De tokenaanvraag die naar uw identiteitsprovider wordt verzonden, heeft de volgende vorm.

POST /token HTTP/1.1
Host: www.contoso.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 291

client_id=<client-id>&redirect_uri=vcclient%3A%2F%2Fopenid%2F&grant_type=authorization_code&code=nbafhjbh1ub1yhbj1h4jr1&scope=openid
Kenmerk Waarde
client_id De klant-ID die is verkregen tijdens het registratieproces van de toepassing.
redirect_uri Moet .vcclient://openid/
scope Moet ondersteunen openid.
grant_type Moet ondersteunen authorization_code.
code De autorisatiecode die door uw identiteitsprovider wordt geretourneerd.

Wanneer uw identiteitsprovider de tokenaanvraag ontvangt, reageert deze met een id-token.

HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache

{
"id_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjFlOWdkazcifQ.ewogImlzc
    yI6ICJodHRwOi8vc2VydmVyLmV4YW1wbGUuY29tIiwKICJzdWIiOiAiMjQ4Mjg5
    NzYxMDAxIiwKICJhdWQiOiAiczZCaGRSa3F0MyIsCiAibm9uY2UiOiAibi0wUzZ
    fV3pBMk1qIiwKICJleHAiOiAxMzExMjgxOTcwLAogImlhdCI6IDEzMTEyODA5Nz
    AKfQ.ggW8hZ1EuVLuxNuuIJKX_V8a_OMXzR0EHR9R6jgdqrOOF4daGU96Sr_P6q
    Jp6IcmD3HP99Obi1PRs-cwh3LO-p146waJ8IhehcwL7F09JdijmBqkvPeB2T9CJ
    NqeGpe-gccMg4vfKjkM8FcGvnzZUN4_KSP0aAp1tOJ1zZwgjxqGByKHiOtX7Tpd
    QyHE5lcMiKPXfEIQILVq0pc_E2DzL7emopWoaoZTF_m0_N0YzFC6g6EJbOEoRoS
    K5hoDalrcvRYLSrQAZZKflyuVCyixEoV9GfNQC3_osjzw2PAithfubEEBLuVVk4
    XUVrWOLrLl0nx7RkKU8NXNHq-rvKMzqg"
}

Het ID-token moet de JWT compacte serialisatie-indeling gebruiken en mag niet worden versleuteld. Het ID-token moet de volgende claims bevatten.

Aanspraak Waarde
kid De sleutel-ID van de sleutel die wordt gebruikt om het ID-token jwks_urite ondertekenen, wat overeenkomt met een vermelding in de .
aud De klant-ID die is verkregen tijdens het registratieproces van de toepassing.
iss Moet de issuer waarde zijn in uw OpenID Connect-configuratiedocument.
exp Moet de vervaltijd van het ID-token bevatten.
iat Moet het tijdstip bevatten waarop het ID-token is uitgegeven.
nonce De waarde die is opgenomen in de machtigingsaanvraag.
Aanvullende claims Het ID-token moet alle andere claims bevatten waarvan de waarden worden opgenomen in de verifieerbare referentie die wordt uitgegeven. In dit gedeelte moet u alle kenmerken van de gebruiker opnemen, zoals de naam.

Volgende stappen