App-aanmeldingsstroom met het Microsoft-identiteitsplatform

In dit onderwerp wordt ingegaan op de basale aanmeldingsstroom van web-, desktop- en mobiele apps via het Microsoft-identiteitsplatform. Zie Verificatiestromen en app-scenario's voor meer informatie over aanmeldingsscenario's die worden ondersteund door het Microsoft-identiteitsplatform.

Aanmeldingsstroom voor web-apps

Wanneer een gebruiker in de browser naar een web-app navigeert, gebeurt het volgende:

  • De web-app stelt vast of de gebruiker is geverifieerd.
  • Als de gebruiker niet is geverifieerd, wordt de web-app gedelegeerd aan De Microsoft Entra-id om de gebruiker aan te melden. Deze aanmelding voldoet aan het beleid van de organisatie, wat kan betekenen dat de gebruiker zijn referenties moet invoeren, meervoudige verificatie (ook wel tweeledige verificatie of 2FA genoemd) moet gebruiken of helemaal geen wachtwoord gebruikt (bijvoorbeeld het gebruik van Windows Hello).
  • De gebruiker wordt gevraagd toestemming te geven voor de toegang die de client-app nodig heeft. Daarom moeten client-apps worden geregistreerd bij Microsoft Entra ID, zodat het Microsoft Identity Platform tokens kan leveren die de toegang vertegenwoordigen waartoe de gebruiker toestemming heeft gegeven.

Wanneer de gebruiker is geverifieerd:

  • Verzendt het Microsoft-identiteitplatform een token naar de web-app.
  • Er wordt een cookie opgeslagen die is gekoppeld aan een Microsoft Entra-domein dat de identiteit van de gebruiker bevat in het cookie-JAR van de browser. De volgende keer dat een app de browser gebruikt om naar het Microsoft Identity Platform-autorisatie-eindpunt te navigeren, geeft de browser de cookie weer zodat de gebruiker zich niet opnieuw hoeft aan te melden. Dit is ook de manier waarop eenmalige aanmelding wordt bereikt. De cookie wordt geproduceerd door Microsoft Entra ID en kan alleen worden begrepen door Microsoft Entra ID.
  • De web-app valideert vervolgens het token. Als de validatie is geslaagd, wordt de beveiligde pagina in de web-app weergegeven en wordt er een sessiecookie opgeslagen in het cookie jar-bestand van de browser. Wanneer de gebruiker naar een andere pagina navigeert, weet de web-app dat de gebruiker wordt geverifieerd op basis van de sessiecookie.

In het volgende sequentiediagram wordt deze interactie samengevat:

web app authentication process

Hoe een web-app vaststelt of de gebruiker is geverifieerd

Ontwikkelaars van web-apps kunnen aangeven of voor alle of alleen voor bepaalde pagina's verificatie is vereist. In ASP.NET/ASP.NET Core wordt dit bijvoorbeeld gedaan door het [Authorize]-kenmerk toe te voegen aan de controlleracties.

Dit kenmerk zorgt ervoor dat ASP.NET controleert op de aanwezigheid van een sessiecookie die de identiteit van de gebruiker bevat. Als er geen cookie aanwezig is, leidt ASP.NET de verificatie om naar de opgegeven id-provider. Als de id-provider Microsoft Entra-id is, wordt verificatie door de web-app omgeleid naar https://login.microsoftonline.com, waarin een aanmeldingsdialoogvenster wordt weergegeven.

Hoe een web-app aanmeldingen naar het Microsoft-identiteitsplatform delegeert en een token verkrijgt

Gebruikersverificatie vindt plaats via de browser. Het OpenID-protocol maakt gebruik van standaard-HTTP-protocolberichten.

  • De web-app verzendt een HTTP 302 (omleiding) naar de browser om het Microsoft-identiteitsplatform te gebruiken.
  • Wanneer de gebruiker wordt geverifieerd, verzendt het Microsoft-identiteitsplatform het token naar de web-app met behulp van een omleiding via de browser.
  • De omleiding wordt door de web-app geboden in de vorm van een omleidings-URI. Deze omleidings-URI is geregistreerd bij het Microsoft Entra-toepassingsobject. Er kunnen verschillende omleidings-URI's zijn omdat de toepassing op verschillende URL's kan worden geïmplementeerd. Daarom moet de web-app ook de omleidings-URI opgeven die moet worden gebruikt.
  • Microsoft Entra ID controleert of de omleidings-URI die door de web-app wordt verzonden, een van de geregistreerde omleidings-URI's voor de app is.

Aanmeldingsstroom voor bureaubladapps en mobiele apps

De hierboven beschreven stroom geldt, met kleine verschillen, voor bureaubladapps en mobiele toepassingen.

Bureaubladapps en mobiele apps kunnen een ingesloten webbesturingselement of een systeembrowser gebruiken voor verificatie. In het volgende diagram ziet u hoe een desktop- of mobiele app gebruikmaakt van msal (Microsoft Authentication Library) om toegangstokens te verkrijgen en web-API's aan te roepen.

Desktop app how it appears to be

MSAL gebruikt een browser om tokens op te halen. Net als bij web-apps wordt verificatie gedelegeerd aan het Microsoft-identiteitsplatform.

Omdat Microsoft Entra ID dezelfde identiteitscookor in de browser opslaat als voor web-apps, krijgt de systeembrowser onmiddellijk eenmalige aanmelding met de bijbehorende web-app als de systeembrowser wordt gebruikt.

MSAL gebruikt standaard de systeembrowser. Er geldt een uitzondering voor .NET Framework-bureaubladtoepassingen waarbij een ingesloten besturingselement wordt gebruikt om een meer geïntegreerde gebruikerservaring te bieden.

Volgende stappen

Voor andere onderwerpen over de basisbeginselen van verificatie en autorisatie:

  • Zie Verificatie versus autorisatie voor meer informatie over de basisconcepten van verificatie en autorisatie in het Microsoft-identiteitsplatform.
  • Zie Beveiligingstokens voor meer informatie over hoe toegangstokens, vernieuwingstokens en id-tokens worden gebruikt in verificatie en autorisatie.
  • Zie Toepassingsmodel voor meer informatie over het registreren van uw toepassing, zodat deze kan worden geïntegreerd met het Microsoft-identiteitsplatform.
  • Zie Beveiligde toepassingen en API's door claims te valideren voor meer informatie over het veilig gebruiken van tokenclaims voor autorisatielogica in uw toepassingen.

Voor meer informatie over de app-aanmeldingsstroom:

  • Zie Verificatiestromen en app-scenario's voor meer informatie over andere scenario's voor het verifiëren van gebruikers die worden ondersteund door het Microsoft-identiteitsplatform.
  • Zie MSAL-bibliotheken voor meer informatie over de Microsoft-bibliotheken waarmee u toepassingen kunt ontwikkelen die werken met Microsoft-accounts, Microsoft Entra-accounts en Azure AD B2C-gebruikers in één gestroomlijnd programmeermodel.