Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Waarschuwing
Deze inhoud is bedoeld voor het oudere Azure AD v1.0-eindpunt. Gebruik het Microsoft Identity Platform voor nieuwe projecten.
Toepassingen met één pagina (SPA's) zijn doorgaans gestructureerd als een JavaScript-presentatielaag (front-end) die in de browser wordt uitgevoerd en een web-API-back-end die wordt uitgevoerd op een server en de bedrijfslogica van de toepassing implementeert. Zie Inzicht in de impliciete toekenningsstroom voor OAuth2 in Azure Active Directoryvoor meer informatie over de impliciete autorisatietoestemming en hulp bij het bepalen of deze geschikt is voor uw toepassingsscenario.
Wanneer de gebruiker zich aanmeldt, gebruikt de JavaScript-front-end Active Directory Authentication Library voor JavaScript - (ADAL.JS) en de impliciete autorisatietoekenning om een id-token (id_token) van Azure AD te verkrijgen. Het token wordt in de cache opgeslagen en de client koppelt het aan de aanvraag als bearer-token bij het maken van aanroepen naar de back-end van de web-API, die wordt beveiligd met behulp van de OWIN-middleware.
Diagram
Verloop van het protocol
- De gebruiker navigeert naar de webtoepassing.
- De toepassing retourneert de JavaScript-front-end (presentatielaag) naar de browser.
- De gebruiker start het aanmelden, bijvoorbeeld door op een aanmeldingslink te klikken. De browser verzendt een GET naar het Azure AD-autorisatie-eindpunt om een id-token aan te vragen. Deze aanvraag bevat de toepassings-id en antwoord-URL in de queryparameters.
- Azure AD valideert de antwoord-URL op basis van de geregistreerde antwoord-URL die is geconfigureerd in Azure Portal.
- De gebruiker meldt zich aan op de aanmeldingspagina.
- Als de verificatie is geslaagd, maakt Azure AD een id-token en retourneert het als een URL-fragment (#) naar de antwoord-URL van de toepassing. Voor een productietoepassing moet deze antwoord-URL HTTPS zijn. Het geretourneerde token bevat claims over de gebruiker en Azure AD die door de toepassing zijn vereist om het token te valideren.
- De JavaScript-clientcode die in de browser wordt uitgevoerd, extraheert het token uit het antwoord dat moet worden gebruikt bij het beveiligen van aanroepen naar de back-end van de web-API van de toepassing.
- De browser roept de back-end van de web-API van de toepassing aan met het id-token in de autorisatieheader. De Azure AD-verificatieservice geeft een id-token uit dat kan worden gebruikt als bearer-token als de resource hetzelfde is als de client-id (in dit geval geldt dit als de web-API de eigen back-end van de app is).
Codevoorbeelden
Zie de codevoorbeelden voor toepassingsscenario's met één pagina. Zorg ervoor dat u regelmatig terugcheckt omdat er regelmatig nieuwe voorbeelden worden toegevoegd.
App-registratie
- Eén tenant: als u een toepassing bouwt voor uw organisatie, moet deze worden geregistreerd in de adreslijst van uw bedrijf met behulp van De Azure-portal.
- Meerdere tenants: als u een toepassing bouwt die kan worden gebruikt door gebruikers buiten uw organisatie, moet deze worden geregistreerd in de adreslijst van uw bedrijf, maar moet deze ook worden geregistreerd in de adreslijst van elke organisatie die de toepassing gebruikt. Als u uw toepassing beschikbaar wilt maken in hun directory, kunt u een registratieproces voor uw klanten opnemen waarmee ze toestemming kunnen geven voor uw toepassing. Wanneer ze zich registreren voor uw toepassing, krijgen ze een dialoogvenster te zien waarin de machtigingen worden weergegeven die de toepassing nodig heeft en vervolgens de optie om toestemming te geven. Afhankelijk van de vereiste machtigingen kan een beheerder in de andere organisatie toestemming geven. Wanneer de gebruiker of beheerder toestemming verleent, wordt de toepassing geregistreerd in de directory.
Nadat u de toepassing hebt geregistreerd, moet deze zijn geconfigureerd voor het gebruik van het impliciete toekenningsprotocol van OAuth 2.0. Dit protocol is standaard uitgeschakeld voor toepassingen. Als u het impliciete OAuth2-toekenningsprotocol voor uw toepassing wilt inschakelen, bewerkt u het toepassingsmanifest van de Azure-portal en stelt u de waarde 'oauth2AllowImplicitFlow' in op true. Raadpleeg Toepassingsmanifest voor meer informatie.
Verloop van Token
Het gebruik van ADAL.js helpt bij het volgende:
- Een verlopen token vernieuwen
- Een toegangstoken aanvragen om een web-API-resource aan te roepen
Na een geslaagde verificatie schrijft Azure AD een cookie in de browser van de gebruiker om een sessie tot stand te brengen. Houd er rekening mee dat de sessie bestaat tussen de gebruiker en Azure AD (niet tussen de gebruiker en de webtoepassing). Wanneer een token verloopt, ADAL.js deze sessie gebruikt om op de achtergrond een ander token te verkrijgen. ADAL.js een verborgen iFrame gebruikt om de aanvraag te verzenden en te ontvangen met behulp van het impliciete OAuth-toekenningsprotocol. ADAL.js kan dit mechanisme ook gebruiken om op de achtergrond toegangstokens te verkrijgen voor andere web-API-resources die de toepassing aanroept zolang deze resources ondersteuning bieden voor cross-origin resource sharing (CORS), worden geregistreerd in de directory van de gebruiker en eventuele vereiste toestemming is gegeven door de gebruiker tijdens het aanmelden.
Volgende stappen
- Meer informatie over andere toepassingstypen en -scenario's
- Meer informatie over de basisbeginselen van Azure AD -verificatie