Delen via


Toepassingstypen voor het Microsoft Identity Platform

Het Microsoft Identity Platform ondersteunt verificatie voor verschillende moderne app-architecturen, allemaal op basis van industriestandaard protocollen OAuth 2.0 of OpenID Connect. In dit artikel worden de typen apps beschreven die u kunt bouwen met behulp van het Microsoft Identity Platform, ongeacht uw voorkeurstaal of platform. De informatie is ontworpen om u inzicht te geven in scenario's op hoog niveau voordat u aan de slag gaat met de code in de toepassingsscenario's.

De basisbeginselen

U moet elke app registreren die gebruikmaakt van het Microsoft Identity Platform in het Microsoft Entra-beheercentrum App-registraties. Het app-registratieproces verzamelt en wijst deze waarden toe voor uw app:

  • Een toepassings-id (client) die uw app uniek identificeert
  • Een omleidings-URI die u kunt gebruiken om antwoorden terug te sturen naar uw app
  • Enkele andere scenariospecifieke waarden, zoals ondersteunde accounttypen

Meer informatie over het registreren van een app.

Nadat de app is geregistreerd, communiceert de app met het Microsoft Identity Platform door aanvragen naar het eindpunt te verzenden. We bieden opensource-frameworks en -bibliotheken die de details van deze aanvragen verwerken. U hebt ook de mogelijkheid om de verificatielogica zelf te implementeren door aanvragen te maken voor deze eindpunten:

https://login.microsoftonline.com/common/oauth2/v2.0/authorize
https://login.microsoftonline.com/common/oauth2/v2.0/token

De app-typen die worden ondersteund door het Microsoft Identity Platform zijn;

  • App met één pagina (SPA)
  • Web-app
  • Web-API
  • Mobiele en systeemeigen apps
  • Service, daemon, script

Apps met één pagina

Veel moderne apps hebben een spa-front-end (single-page app) die voornamelijk in JavaScript is geschreven, vaak met een framework zoals Angular, React of Vue. Het Microsoft Identity Platform ondersteunt deze apps met behulp van het OpenID Connect-protocol voor verificatie en een van de twee typen autorisatietoestemmingen die zijn gedefinieerd door OAuth 2.0. Gebruik de autorisatiecodestroom met PKCE bij het ontwikkelen van SPA's. Deze stroom is veiliger dan de impliciete stroom, die niet meer wordt aanbevolen. Zie voor meer informatie de voorkeur geven aan de verificatiecodestroom.

In het stroomdiagram ziet u de stroom voor het verlenen van OAuth 2.0-autorisatiecode (met details over PKCE weggelaten), waarbij de app een code ontvangt van het Microsoft Identity Platform-eindpunt authorize en deze inwisselt voor een toegangstoken en een vernieuwingstoken met behulp van webaanvragen tussen sites. Voor SPA's is het toegangstoken 1 uur geldig en moet een andere code worden aangevraagd met behulp van het vernieuwingstoken. Naast het toegangstoken wordt een id_token die de aangemelde gebruiker aan de clienttoepassing vertegenwoordigt doorgaans ook aangevraagd via dezelfde stroom en/of een afzonderlijke OpenID Connect-aanvraag (niet hier weergegeven).

Diagram met de OAuth 2.0-autorisatiecodestroom tussen een app met één pagina en het service-eindpunt van het beveiligingstoken.

Als u dit in actie wilt zien, raadpleegt u de quickstart: Gebruikers aanmelden in een app met één pagina (SPA) en de Microsoft Graph API aanroepen met behulp van JavaScript.

Web-apps

Voor web-apps (.NET, PHP, Java, Ruby, Python, Node) waartoe de gebruiker toegang heeft via een browser, kunt u OpenID Connect gebruiken voor gebruikersaanmelding. In OpenID Connect ontvangt de web-app een id-token. Een id-token is een beveiligingstoken waarmee de identiteit van de gebruiker wordt geverifieerd en informatie wordt verstrekt over de gebruiker in de vorm van claims:

// Partial raw ID token
abC1dEf2Ghi3jkL4mNo5Pqr6stU7vWx8Yza9...

// Partial content of a decoded ID token
{
    "name": "Casey Jensen",
    "email": "casey.jensen@onmicrosoft.com",
    "oid": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
    ...
}

Meer informatie over verschillende typen tokens die worden gebruikt in het Microsoft Identity Platform zijn beschikbaar in de verwijzing naar het toegangstoken en id_token verwijzing.

In webserver-apps voert de aanmeldingsverificatiestroom de volgende stappen op hoog niveau uit:

Toont de verificatiestroom voor web-apps

U kunt de identiteit van de gebruiker controleren door het id-token te valideren met een openbare ondertekeningssleutel die wordt ontvangen van het Microsoft Identity Platform. Er wordt een sessiecooky ingesteld, die kan worden gebruikt om de gebruiker te identificeren op volgende paginaaanvragen.

Meer informatie door een ASP.NET Core-web-app te bouwen waarmee gebruikers worden aangemeld in de volgende reeks meerdelige zelfstudies

Naast eenvoudige aanmelding moet een webserver-app mogelijk toegang krijgen tot een andere webservice, zoals een REST-API (Representational State Transfer). In dit geval maakt de webserver-app gebruik van een gecombineerde OpenID Connect- en OAuth 2.0-stroom met behulp van de OAuth 2.0-autorisatiecodestroom. Raadpleeg ons codevoorbeeld voor meer informatie over dit scenario.

Web-API's

U kunt het Microsoft Identity Platform gebruiken om webservices te beveiligen, zoals de RESTful-web-API van uw app. Web-API's kunnen worden geïmplementeerd in talloze platforms en talen. Ze kunnen ook worden geïmplementeerd met behulp van HTTP-triggers in Azure Functions. In plaats van id-tokens en sessiecookies gebruikt een web-API een OAuth 2.0-toegangstoken om de gegevens te beveiligen en binnenkomende aanvragen te verifiëren.

De aanroeper van een web-API voegt een toegangstoken toe in de autorisatieheader van een HTTP-aanvraag, zoals deze:

GET /api/items HTTP/1.1
Host: www.mywebapi.com
Authorization: Bearer abC1dEf2Ghi3jkL4mNo5Pqr6stU7vWx8Yza9...
Accept: application/json
...

De web-API gebruikt het toegangstoken om de identiteit van de API-aanroeper te verifiëren en om informatie over de aanroeper te extraheren uit claims die zijn gecodeerd in het toegangstoken. Meer informatie over verschillende typen tokens die worden gebruikt in het Microsoft Identity Platform zijn beschikbaar in de verwijzing naar het toegangstoken en de id-tokenreferentie.

Met een web-API kunnen gebruikers zich aanmelden of zich afmelden voor specifieke functionaliteit of gegevens door machtigingen weer te geven, ook wel bereiken genoemd. Voor een aanroepende app om machtigingen voor een bereik te verkrijgen, moet de gebruiker toestemming geven voor het bereik tijdens een stroom. Het Microsoft Identity Platform vraagt de gebruiker om toestemming en registreert vervolgens machtigingen in alle toegangstokens die de web-API ontvangt. De web-API valideert de toegangstokens die worden ontvangen voor elke aanroep en voert autorisatiecontroles uit.

Een web-API kan toegangstokens ontvangen van alle typen apps, waaronder webserver-apps, desktop- en mobiele apps, apps met één pagina, daemons aan de serverzijde en zelfs andere web-API's. De stroom op hoog niveau voor een web-API ziet er als volgt uit:

Toont de web-API-verificatiestroom

Als u wilt weten hoe u een web-API beveiligt met behulp van OAuth2-toegangstokens, bekijkt u de voorbeelden van web-API-code in de zelfstudie over beveiligde web-API's.

In veel gevallen moeten web-API's ook uitgaande aanvragen indienen bij andere downstream-web-API's die worden beveiligd door het Microsoft Identity Platform. Hiervoor kunnen web-API's gebruikmaken van de stroom On-Behalf-Of (OBO), waarmee de web-API een binnenkomend toegangstoken kan uitwisselen voor een ander toegangstoken dat in uitgaande aanvragen kan worden gebruikt. Zie het Microsoft Identity Platform en OAuth 2.0 On-Behalf-Of-stroom voor meer informatie.

Mobiele en systeemeigen apps

Door het apparaat geïnstalleerde apps, zoals mobiele en desktop-apps, moeten vaak toegang krijgen tot back-endservices of web-API's die gegevens opslaan en functies uitvoeren namens een gebruiker. Deze apps kunnen aanmelding en autorisatie toevoegen aan back-endservices met behulp van de OAuth 2.0-autorisatiecodestroom.

In deze stroom ontvangt de app een autorisatiecode van het Microsoft Identity Platform wanneer de gebruiker zich aanmeldt. De autorisatiecode vertegenwoordigt de machtiging van de app om back-endservices aan te roepen namens de gebruiker die is aangemeld. De app kan de autorisatiecode op de achtergrond uitwisselen voor een OAuth 2.0-toegangstoken en een vernieuwingstoken. De app kan het toegangstoken gebruiken om te verifiëren bij web-API's in HTTP-aanvragen en het vernieuwingstoken gebruiken om nieuwe toegangstokens op te halen wanneer oudere toegangstokens verlopen.

Toont de systeemeigen app-verificatiestroom

Notitie

Als de toepassing gebruikmaakt van de standaardsysteemwebweergave, controleert u de informatie over de functionaliteit 'Mijn aanmelding bevestigen' en foutcode AADSTS50199 in Microsoft Entra-verificatie- en autorisatiefoutcodes.

Server, daemons en scripts

Apps met langlopende processen of die werken zonder interactie met een gebruiker hebben ook een manier nodig om toegang te krijgen tot beveiligde resources, zoals web-API's. Deze apps kunnen tokens verifiëren en ophalen met behulp van de identiteit van de app, in plaats van de gedelegeerde identiteit van een gebruiker, met de OAuth 2.0-clientreferentiestroom. U kunt de identiteit van de app bewijzen met behulp van een clientgeheim of certificaat. Zie de .NET daemon-consoletoepassing met behulp van het Microsoft Identity Platform voor meer informatie.

In deze stroom communiceert de app rechtstreeks met het /token eindpunt om toegang te krijgen:

Toont de verificatiestroom voor daemon-apps

Als u een daemon-app wilt bouwen, raadpleegt u de documentatie over clientreferenties of probeert u een .NET-voorbeeld-app.

Zie ook

Nu u bekend bent met de typen toepassingen die worden ondersteund door het Microsoft Identity Platform, vindt u meer informatie over OAuth 2.0 en OpenID Connect om inzicht te krijgen in de protocolonderdelen die door de verschillende scenario's worden gebruikt.