Microsoft Identity Platform en OpenID Connect protocol

OpenID Connect (OIDC) is een verificatieprotocol dat is gebouwd op OAuth 2.0 dat u kunt gebruiken om een gebruiker veilig aan te melden bij een toepassing. Wanneer u de implementatie van het Microsoft Identity Platform van OpenID Connect, kunt u aanmeldings- en API-toegang toevoegen aan uw apps. In dit artikel wordt beschreven hoe u dit onafhankelijk van taal doet en wordt beschreven hoe u HTTP-berichten verzendt en ontvangt zonder opensource-bibliotheken van Microsoft te gebruiken.

OpenID Connect breidt het OAuth 2.0-autorisatieprotocol uit voor gebruik als verificatieprotocol, zodat u een aanmelding met behulp van OAuth kunt doen. OpenID Connect introduceert het concept van een id-token. Dit is een beveiliging token waarmee de client de identiteit van de gebruiker kan verifiëren. Het id-token haalt ook basisprofielinformatie over de gebruiker op. Het introduceert ook het UserInfo-eindpunt,een API die informatie over de gebruiker retourneert.

Protocoldiagram: Aanmelden

De meest eenvoudige aanmeldingsstroom heeft de stappen die worden weergegeven in het volgende diagram. Elke stap wordt gedetailleerd beschreven in dit artikel.

OpenID Connect protocol: Aanmelden

Het metagegevensdocument OpenID Connect ophalen

OpenID Connect wordt een metagegevensdocument (RFC) beschreven dat de meeste informatie bevat die nodig is om een app aan te melden. Dit omvat informatie zoals de URL's die moeten worden gebruikt en de locatie van de openbare ondertekeningssleutels van de service. U kunt dit document vinden door het pad naar het detectiedocument toe te staan aan de URL van de instantie:

Pad naar detectiedocument: /.well-known/openid-configuration

Autoriteit: https://login.microsoftonline.com/{tenant}/v2.0

De {tenant} kan een van de vier waarden hebben:

Waarde Beschrijving
common Gebruikers met zowel een persoonlijk Microsoft-account als een werk- of schoolaccount van Azure AD kunnen zich aanmelden bij de toepassing.
organizations Alleen gebruikers met werk- of schoolaccounts van Azure AD kunnen zich aanmelden bij de toepassing.
consumers Alleen gebruikers met een persoonlijk Microsoft-account zich kunnen aanmelden bij de toepassing.
8eaef023-2b34-4da1-9baa-8bc8c9d6a490 of contoso.onmicrosoft.com Alleen gebruikers van een specifieke Azure AD-tenant (of ze nu lid zijn van de directory met een werk- of schoolaccount of gasten in de directory met een persoonlijke Microsoft-account) kunnen zich aanmelden bij de toepassing. De gebruiksvriendelijke domeinnaam van de Azure AD-tenant of de GUID-id van de tenant kan worden gebruikt. U kunt ook de consumer-tenant, 9188040d-6c67-4c5b-b112-36a304b66dad , gebruiken in plaats van de consumers tenant.

De autoriteit verschilt per nationale clouds, bijvoorbeeld voor het https://login.microsoftonline.de Azure AD Duitsland-exemplaar. Als u de openbare cloud niet gebruikt, raadpleegt u de eindpunten van de nationale cloud om de juiste voor u te vinden. Zorg ervoor dat de tenant en aanwezig zijn in uw aanvraag, zodat /v2.0/ u de versie v2.0 van het eindpunt kunt gebruiken.

Tip

Probeer het nu! Klik https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration om de configuratie te common zien.

Voorbeeldaanvraag

Als u het userinfo-eindpunt voor de algemene instantie in de openbare cloud wilt aanroepen, gebruikt u het volgende:

GET /common/v2.0/.well-known/openid-configuration
Host: login.microsoftonline.com

Voorbeeldantwoord

De metagegevens zijn een eenvoudig JSON JavaScript Object Notation document (JSON). Zie het volgende codefragment voor een voorbeeld. De inhoud wordt volledig beschreven in de OpenID Connect specificatie.

{
  "authorization_endpoint": "https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize",
  "token_endpoint": "https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token",
  "token_endpoint_auth_methods_supported": [
    "client_secret_post",
    "private_key_jwt"
  ],
  "jwks_uri": "https://login.microsoftonline.com/{tenant}/discovery/v2.0/keys",
  "userinfo_endpoint": "https://graph.microsoft.com/oidc/userinfo",
  "subject_types_supported": [
      "pairwise"
  ],
  ...

}

Als uw app aangepaste ondertekeningssleutels heeft als gevolg van het gebruik van de functie voor claimtoewijzing, moet u een queryparameter met de app-id toevoegen om een te krijgen die verwijst naar de ondertekeningssleutelgegevens van uw appid jwks_uri app. Bijvoorbeeld: https://login.microsoftonline.com/{tenant}/v2.0/.well-known/openid-configuration?appid=6731de76-14a6-49ae-97bc-6eba6914391e bevat een jwks_uri van https://login.microsoftonline.com/{tenant}/discovery/v2.0/keys?appid=6731de76-14a6-49ae-97bc-6eba6914391e .

Normaal gesproken gebruikt u dit metagegevensdocument om een bibliotheek of SDK OpenID Connect configureren; De bibliotheek gebruikt de metagegevens om het werk te doen. Als u echter geen vooraf gebouwde OpenID Connect-bibliotheek gebruikt, kunt u de stappen in de rest van dit artikel volgen om u aan te melden bij een web-app met behulp van het Microsoft Identity Platform.

De aanmeldingsaanvraag verzenden

Wanneer uw web-app de gebruiker moet verifiëren, kan deze de gebruiker naar het /authorize eindpunt leiden. Deze aanvraag is vergelijkbaar met het eerste deel van de OAuth 2.0-autorisatiecodestroom,met de volgende belangrijke verschillen:

  • De aanvraag moet het bereik openid in de scope parameter bevatten.
  • De response_type parameter moet id_token bevatten.
  • De aanvraag moet de nonce parameter bevatten.

Belangrijk

Als u een id-token wilt aanvragen bij het /authorization-eindpunt, moet voor de app-registratie in de registratieportal de impliciete toekenning van id_tokens zijn ingeschakeld op het tabblad Verificatie (waarmee de vlag in het toepassingsmanifest wordt ingeschakeld op oauth2AllowIdTokenImplicitFlow true ). Als deze optie niet is ingeschakeld, wordt er een fout geretourneerd: 'De opgegeven waarde voor de invoerparameter 'response_type' is niet toegestaan unsupported_response voor deze client. De verwachte waarde is 'code''

Bijvoorbeeld:

// Line breaks are for legibility only.

GET https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?
client_id=6731de76-14a6-49ae-97bc-6eba6914391e
&response_type=id_token
&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F
&response_mode=form_post
&scope=openid
&state=12345
&nonce=678910
Parameter Voorwaarde Beschrijving
tenant Vereist U kunt de waarde in het pad van de aanvraag {tenant} gebruiken om te bepalen wie zich kan aanmelden bij de toepassing. De toegestane waarden zijn common organizations , , en consumers tenant-id's. Zie basisbeginselen van protocollen voor meer informatie.
client_id Vereist De toepassings-id (client-id) die Azure Portal - App-registraties-ervaring die aan uw app is toegewezen.
response_type Vereist Moet opnemen id_token voor OpenID Connect aanmelding. Het kan ook andere response_type waarden bevatten, zoals code .
redirect_uri Aanbevolen De omleidings-URI van uw app, waar verificatiereacties kunnen worden verzonden en ontvangen door uw app. Deze moet exact overeenkomen met een van de omleidings-URI's die u hebt geregistreerd in de portal, behalve dat deze URL-codering moet hebben. Als deze niet aanwezig is, kiest het eindpunt willekeurig één geregistreerde redirect_uri de gebruiker terug te sturen.
scope Vereist Een door spatie gescheiden lijst met scopes. Voor OpenID Connect moet deze het bereik bevatten, dat wordt omgezet in de machtiging openid 'Aanmelden' in de gebruikersinterface voor toestemming. U kunt ook andere scopes opnemen in deze aanvraag om toestemming te vragen.
nonce Vereist Een waarde die is opgenomen in de aanvraag, gegenereerd door de app, die wordt opgenomen in de resulterende id_token waarde als een claim. De app kan deze waarde controleren om aanvallen met token opnieuw afspelen te beperken. De waarde is doorgaans een willekeurige, unieke tekenreeks die kan worden gebruikt om de oorsprong van de aanvraag te identificeren.
response_mode Aanbevolen Hiermee geeft u de methode op die moet worden gebruikt om de resulterende autorisatiecode terug te sturen naar uw app. Deze waarde kan form_post of fragment zijn. Voor webtoepassingen wordt u aangeraden om te gebruiken response_mode=form_post voor de veiligste overdracht van tokens naar uw toepassing.
state Aanbevolen Een waarde die is opgenomen in de aanvraag die ook wordt geretourneerd in het token-antwoord. Dit kan een tekenreeks zijn van elke inhoud die u wilt. Een willekeurig gegenereerde unieke waarde wordt doorgaans gebruikt om aanvallen met aanvraagvervalsing op andere plaatsen te voorkomen. De status wordt ook gebruikt voor het coderen van informatie over de status van de gebruiker in de app voordat de verificatieaanvraag plaatsvond, zoals de pagina of weergave waarin de gebruiker zich voordeed.
prompt Optioneel Geeft het type gebruikersinteractie aan dat vereist is. De enige geldige waarden op dit moment zijn login none , , en consent select_account . De claim dwingt de gebruiker om zijn of haar referenties op die aanvraag in te voeren, waardoor prompt=login een een aanmelding wordt ontkracht. De parameter is het tegenovergestelde en moet worden gekoppeld aan een om aan te prompt=none geven welke gebruiker moet worden login_hint aangemeld. Deze parameters zorgen ervoor dat de gebruiker helemaal geen interactieve prompt krijgt te zien. Als de aanvraag niet op de stilzwijgend kan worden uitgevoerd via een aanmelding (omdat er geen gebruiker is aangemeld, de gebruiker met de hint niet is aangemeld of als er meerdere gebruikers zijn aangemeld en er geen hint is opgegeven), wordt door het Microsoft Identity Platform een foutmelding weergegeven. De prompt=consent claim activeert het OAuth-toestemmingsdialoogvenster nadat de gebruiker zich heeft meldt. In het dialoogvenster wordt de gebruiker gevraagd machtigingen te verlenen voor de app. Ten slotte toont de gebruiker een account selector, waarbij een stille eenmalige aanmelding wordt geweigerd, maar de gebruiker kan kiezen met welk account hij of zij zich wil aanmelden, zonder dat er referenties select_account moeten wordeninvoer. U kunt en login_hint niet select_account samen gebruiken.
login_hint Optioneel U kunt deze parameter gebruiken om vooraf de gebruikersnaam en het e-mailadresveld van de aanmeldingspagina voor de gebruiker in te vullen, als u de gebruikersnaam van tevoren kent. Vaak gebruiken apps deze parameter tijdens het opnieuw authenticatie, nadat de gebruikersnaam bij een eerdere aanmelding al is geëxtraheerd met behulp van de preferred_username claim .
domain_hint Optioneel De realm van de gebruiker in een federatief adreslijst. Hiermee wordt het detectieproces op basis van e-mail overgeslagen dat de gebruiker op de aanmeldingspagina heeft doorlopen voor een iets gestroomlijnder gebruikerservaring. Voor tenants die federatief zijn via een on-premises directory, zoals AD FS, resulteert dit vaak in een naadloze aanmelding vanwege de bestaande aanmeldingssessie.

Op dit moment wordt de gebruiker gevraagd om zijn of haar referenties in te voeren en de verificatie te voltooien. Het Microsoft Identity Platform controleert of de gebruiker toestemming heeft gegeven voor de machtigingen die zijn aangegeven in de scope queryparameter. Als de gebruiker geen toestemming heeft gegeven voor een van deze machtigingen, wordt de gebruiker door het Microsoft Identity Platform gevraagd toestemming te geven voor de vereiste machtigingen. Meer informatie over machtigingen, toestemming en apps met meerdere tenantsvindt u hier.

Nadat de gebruiker heeft geverifieerd en toestemming heeft verleend, retourneert het Microsoft Identity Platform een antwoord op uw app op de aangegeven omleidings-URI met behulp van de methode die is opgegeven in de response_mode parameter .

Geslaagd antwoord

Een geslaagd antwoord wanneer u gebruikt, response_mode=form_post ziet er als volgende uit:

POST /myapp/ HTTP/1.1
Host: localhost
Content-Type: application/x-www-form-urlencoded

id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik1uQ19WWmNB...&state=12345
Parameter Beschrijving
id_token Het id-token dat de app heeft aangevraagd. U kunt de id_token parameter gebruiken om de identiteit van de gebruiker te verifiëren en een sessie met de gebruiker te starten. Zie de naslaginformatie voor meer informatie over id-tokens en de inhoud id_tokens ervan.
state Als een state parameter is opgenomen in de aanvraag, moet dezelfde waarde worden weergegeven in het antwoord. De app moet controleren of de statuswaarden in de aanvraag en het antwoord identiek zijn.

Foutbericht

Foutreacties kunnen ook worden verzonden naar de omleidings-URI, zodat de app deze kan afhandelen. Een foutbericht ziet er als volgende uit:

POST /myapp/ HTTP/1.1
Host: localhost
Content-Type: application/x-www-form-urlencoded

error=access_denied&error_description=the+user+canceled+the+authentication
Parameter Beschrijving
error Een foutcodereeks die u kunt gebruiken om typen fouten te classificeren die zich voordoen en om te reageren op fouten.
error_description Een specifiek foutbericht dat u kan helpen bij het identificeren van de hoofdoorzaak van een verificatiefout.

Foutcodes voor autorisatie-eindpuntfouten

In de volgende tabel worden foutcodes beschreven die kunnen worden geretourneerd in de error parameter van het foutbericht:

Foutcode Beschrijving Clientactie
invalid_request Protocolfout, zoals een ontbrekende, vereiste parameter. De aanvraag herstellen en opnieuw indienen. Dit is een ontwikkelingsfout die doorgaans wordt ingooit tijdens de eerste test.
unauthorized_client De clienttoepassing kan geen autorisatiecode aanvragen. Dit gebeurt meestal wanneer de clienttoepassing niet is geregistreerd in Azure AD of niet is toegevoegd aan de Azure AD-tenant van de gebruiker. De toepassing kan de gebruiker vragen instructies te geven om de toepassing te installeren en toe te voegen aan Azure AD.
access_denied De resource-eigenaar heeft toestemming geweigerd. De clienttoepassing kan de gebruiker informeren dat deze niet kan doorgaan, tenzij de gebruiker toestemming geeft.
unsupported_response_type De autorisatieserver biedt geen ondersteuning voor het antwoordtype in de aanvraag. De aanvraag herstellen en opnieuw indienen. Dit is een ontwikkelingsfout die doorgaans wordt ingooit tijdens de eerste test.
server_error Er is een onverwachte fout opgetreden op de server. De aanvraag opnieuw proberen. Deze fouten kunnen het gevolg zijn van tijdelijke omstandigheden. De clienttoepassing kan de gebruiker uitleggen dat het antwoord is vertraagd vanwege een tijdelijke fout.
temporarily_unavailable De server is tijdelijk te druk om de aanvraag te verwerken. De aanvraag opnieuw proberen. De clienttoepassing kan de gebruiker uitleggen dat het antwoord is vertraagd vanwege een tijdelijke voorwaarde.
invalid_resource De doelresource is ongeldig omdat deze niet bestaat, Azure AD deze niet kan vinden of niet juist is geconfigureerd. Dit geeft aan dat de resource, als deze bestaat, niet is geconfigureerd in de tenant. De toepassing kan de gebruiker vragen instructies te geven voor het installeren van de toepassing en het toevoegen ervan aan Azure AD.

Het id-token valideren

Alleen het ontvangen van id_token is niet altijd voldoende om de gebruiker te verifiëren; Mogelijk moet u ook de handtekening van de id_token valideren en de claims in het token controleren volgens de vereisten van uw app. Net als alle OIDC-platformen gebruikt het Microsoft-identiteitsplatform JSON-webtokens (JWT's) en cryptografie met openbare sleutels om id-tokens te ondertekenen en te controleren of ze geldig zijn.

Niet alle apps profiteren van het verifiëren van het id-token: native apps en apps met één pagina profiteren bijvoorbeeld zelden van het valideren van het id-token. Iemand met fysieke toegang tot het apparaat (of de browser) kan de validatie op verschillende manieren omzeilen: van het bewerken van het webverkeer naar het apparaat tot het leveren van valse tokens en sleutels tot het simpelweg debuggen van de toepassing om de validatielogica over te slaan. Aan de andere kant moeten web-apps en API's die een id-token gebruiken voor autorisatie het id-token zorgvuldig valideren, omdat ze de toegang tot gegevens in de weg staan.

Nadat u de handtekening van de id_token gevalideerd, zijn er enkele claims die u moet verifiëren. Zie de id_token naslaginformatie voor meer informatie, waaronder Tokens valideren en Belangrijke informatie over rollover van ondertekeningssleutels. U wordt aangeraden een bibliotheek te gebruiken voor het parseren en valideren van tokens. Er is ten minste één bibliotheek beschikbaar voor de meeste talen en platformen.

U kunt ook aanvullende claims valideren, afhankelijk van uw scenario. Enkele veelvoorkomende validaties zijn:

  • Ervoor zorgen dat de gebruiker/organisatie zich heeft aangemeld voor de app.
  • Ervoor zorgen dat de gebruiker over de juiste autorisatie/bevoegdheden beschikt
  • Ervoor zorgen dat er een bepaalde mate van verificatie is opgetreden, zoals meervoudige verificatie.

Nadat u de id_token hebt gevalideerd, kunt u een sessie met de gebruiker starten en de claims in de id_token gebruiken om informatie over de gebruiker in uw app te verkrijgen. Deze informatie kan worden gebruikt voor weergave, records, personalisatie, enzovoort.

Protocoldiagram: Toegangs token verkrijgen

Veel web-apps moeten de gebruiker niet alleen aanmelden, maar ook toegang krijgen tot een webservice namens de gebruiker met behulp van OAuth. In dit scenario worden OpenID Connect voor gebruikersverificatie gecombineerd en tegelijkertijd een autorisatiecode op te halen die u kunt gebruiken om toegangstokens op te halen als u de OAuth-autorisatiecodestroom gebruikt.

De volledige OpenID Connect aanmeldings- en tokenovernamestroom lijkt op het volgende diagram. In de volgende secties van het artikel wordt elke stap in detail beschreven.

OpenID Connect protocol: Tokenovername

Een toegangs token voor het aanroepen van UserInfo

Als u een token voor het OIDC UserInfo-eindpunt wilt verkrijgen, wijzigt u de aanmeldingsaanvraag:

// Line breaks are for legibility only.

GET https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?
client_id=6731de76-14a6-49ae-97bc-6eba6914391e        // Your registered Application ID
&response_type=id_token%20token                       // this will return both an id_token and an access token
&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F       // Your registered redirect URI, URL encoded
&response_mode=form_post                              // 'form_post' or 'fragment'
&scope=openid+profile+email                           // `openid` is required.  `profile` and `email` provide additional information in the UserInfo endpoint the same way they do in an ID token. 
&state=12345                                          // Any value, provided by your app
&nonce=678910                                         // Any value, provided by your app

U kunt ook de autorisatiecodestroom, de apparaatcodestroom of een vernieuwings token in plaats van gebruiken om een token voor uw app op te response_type=token halen.

Tip

Klik op de volgende koppeling om deze aanvraag uit te voeren. Nadat u zich hebt aanmelden, wordt uw browser omgeleid naar , met een https://localhost/myapp/ id-token en een token in de adresbalk. Houd er rekening mee dat deze aanvraag alleen wordt gebruikt voor demonstratiedoeleinden. Voor een web-app wordt u aangeraden om waar mogelijk response_mode=fragment form_post extra beveiliging te gebruiken. https://login.microsoftonline.com/common/oauth2/v2.0/authorize...

Geslaagd token-antwoord

Een geslaagd antwoord van het gebruik response_mode=form_post van ziet er als volgende uit:

POST /myapp/ HTTP/1.1
Host: localhost
Content-Type: application/x-www-form-urlencoded
 access_token=eyJ0eXAiOiJKV1QiLCJub25jZSI6I....
 &token_type=Bearer
 &expires_in=3598
 &scope=email+openid+profile
 &id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI....
 &state=12345

Antwoordparameters betekenen hetzelfde, ongeacht de stroom die wordt gebruikt om ze te verkrijgen.

Parameter Beschrijving
access_token Het token dat wordt gebruikt om het UserInfo-eindpunt aan te roepen.
token_type Altijd 'Bearer'
expires_in Hoe lang totdat het toegangs token verloopt, in seconden.
scope De machtigingen die zijn verleend voor het toegangs token. Omdat het UserInfo-eindpunt wordt gehost op MS Graph, worden hier mogelijk extra Graph-scopes vermeld (bijvoorbeeld user.read) als deze eerder aan de app zijn verleend. Dat komt doordat een token voor een bepaalde resource altijd elke machtiging bevat die momenteel aan de client wordt verleend.
id_token Het id-token dat de app heeft aangevraagd. U kunt het id-token gebruiken om de identiteit van de gebruiker te verifiëren en een sessie met de gebruiker te starten. Meer informatie over id-tokens en de inhoud ervan vindt u in de id_tokens verwijzing.
state Als een statusparameter is opgenomen in de aanvraag, moet dezelfde waarde worden weergegeven in het antwoord. De app moet controleren of de statuswaarden in de aanvraag en het antwoord identiek zijn.

Foutbericht

Foutreacties kunnen ook worden verzonden naar de omleidings-URI, zodat de app deze op de juiste wijze kan verwerken. Een foutbericht ziet er als volgende uit:

POST /myapp/ HTTP/1.1
Host: localhost
Content-Type: application/x-www-form-urlencoded

error=access_denied&error_description=the+user+canceled+the+authentication
Parameter Beschrijving
error Een foutcodereeks die u kunt gebruiken om typen fouten te classificeren die optreden en om te reageren op fouten.
error_description Een specifiek foutbericht dat u kan helpen bij het identificeren van de hoofdoorzaak van een verificatiefout.

Zie Foutcodes voor autorisatie-eindpuntfouten voor een beschrijving van mogelijke foutcodes en aanbevolen clientreacties.

Wanneer u een autorisatiecode en een id-token hebt, kunt u de gebruiker aanmelden en namens hen toegangstokens verkrijgen. Als u de gebruiker wilt aanmelden, moet u het id-token precies valideren zoals beschreven. Volg de stappen die worden beschreven in de documentatie voor OAuth-codestromenom toegangstokens op te halen.

Het UserInfo-eindpunt aanroepen

Bekijk de UserInfo-documentatie om te bekijken hoe het UserInfo-eindpunt met dit token wordt aanroepen.

Een aanmeldingsaanvraag verzenden

Wanneer u de gebruiker wilt afloggen bij uw app, is het niet voldoende om de cookies van uw app te verwijderen of de sessie van de gebruiker op een andere manier te beëindigen. U moet de gebruiker ook omleiden naar het Microsoft Identity Platform om zich af te melden. Als u dit niet doet, worden gebruikers opnieuw bij uw app geauthenticeert zonder dat ze hun referenties opnieuw hoeven in te geven, omdat ze een geldige sessie voor een enkele aanmelding hebben met het Microsoft Identity Platform.

U kunt de gebruiker omleiden naar de end_session_endpoint die wordt vermeld in het OpenID Connect metagegevensdocument:

GET https://login.microsoftonline.com/common/oauth2/v2.0/logout?
post_logout_redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F
Parameter Voorwaarde Beschrijving
post_logout_redirect_uri Aanbevolen De URL waar de gebruiker naar wordt omgeleid nadat deze zich heeft af- en weerge-loggen. Als de parameter niet is opgenomen, krijgt de gebruiker een algemeen bericht te zien dat wordt gegenereerd door het Microsoft Identity Platform. Deze URL moet overeenkomen met een van de omleidings-URI's die zijn geregistreerd voor uw toepassing in de portal voor app-registratie.

Eenmalige afmelding

Wanneer u de gebruiker omleiden naar de , wordt de sessie van de gebruiker door het end_session_endpoint Microsoft Identity Platform geword vanuit de browser. De gebruiker kan echter nog steeds zijn aangemeld bij andere toepassingen die Microsoft-accounts gebruiken voor verificatie. Als u wilt dat deze toepassingen de gebruiker tegelijkertijd kunnen afmelden, verzendt het Microsoft-identiteitsplatform een HTTP GET-aanvraag naar de geregistreerde van alle toepassingen waarmee de gebruiker momenteel LogoutUrl is aangemeld. Toepassingen moeten reageren op deze aanvraag door een sessie te wissen die de gebruiker identificeert en een antwoord 200 retourneert. Als u een een een-op-een-aanmelding in uw toepassing wilt ondersteunen, moet u een dergelijke in de code van LogoutUrl uw toepassing implementeren. U kunt de instellen LogoutUrl vanuit de portal voor app-registratie.

Volgende stappen