Share via


Overzicht van aangepaste verificatie-extensies

Dit artikel bevat een technisch overzicht op hoog niveau van aangepaste verificatie-extensies voor Microsoft Entra ID. Met aangepaste verificatie-extensies kunt u de Microsoft Entra-verificatie-ervaring aanpassen door te integreren met externe systemen.

In het volgende diagram ziet u de aanmeldingsstroom die is geïntegreerd met een aangepaste verificatie-extensie.

Diagram met een token dat wordt uitgebreid met claims van een externe bron.

  1. Een gebruiker probeert zich aan te melden bij een app en wordt omgeleid naar de aanmeldingspagina van Microsoft Entra.
  2. Zodra een gebruiker een bepaalde stap in de verificatie heeft voltooid, wordt een gebeurtenislistener geactiveerd.
  3. Uw aangepaste verificatie-extensie verzendt een HTTP-aanvraag naar uw REST API-eindpunt. De aanvraag bevat informatie over de gebeurtenis, het gebruikersprofiel, sessiegegevens en andere contextinformatie.
  4. De REST API voert een aangepaste werkstroom uit.
  5. De REST API retourneert een HTTP-antwoord op Microsoft Entra-id.
  6. De aangepaste verificatie-extensie van Microsoft Entra verwerkt het antwoord en past de verificatie aan op basis van het gebeurtenistype en de nettolading van het HTTP-antwoord.
  7. Er wordt een token geretourneerd naar de app.

REST API-eindpunt voor aangepaste verificatie-extensie

Wanneer een gebeurtenis wordt geactiveerd, roept Microsoft Entra ID een REST API-eindpunt aan dat u bezit. De aanvraag voor de REST API bevat informatie over de gebeurtenis, het gebruikersprofiel, verificatieaanvraaggegevens en andere contextinformatie.

U kunt elke programmeertaal, framework en hostingomgeving gebruiken om de REST API voor aangepaste verificatie-extensies te maken en te hosten. Gebruik een C#-azure-functie om snel aan de slag te gaan. Met Azure Functions kunt u uw code uitvoeren in een serverloze omgeving zonder dat u eerst een virtuele machine (VM) hoeft te maken of een webtoepassing hoeft te publiceren.

Uw REST API moet het volgende verwerken:

  • Tokenvalidatie voor het beveiligen van de REST API-aanroepen.
  • Bedrijfslogica
  • Binnenkomende en uitgaande validatie van HTTP-aanvraag- en antwoordschema's.
  • Controle en logboekregistratie.
  • Controlemechanismen voor beschikbaarheid, prestaties en beveiliging.

Voor ontwikkelaars die de REST API in Azure Functions uitvoeren, kunt u overwegen de NuGet-bibliotheek Microsoft.Azure.WebJobs.Extensions.AuthenticationEvents te gebruiken. Dit helpt bij de implementatie van tokensvalidatie met behulp van de ingebouwde verificatiemogelijkheden van Microsoft Azure. Het biedt een gegevensmodel voor verschillende gebeurtenistypen, initieert binnenkomende en uitgaande aanvraag- en antwoordverwerking, zodat er meer aandacht kan worden besteed aan de bedrijfslogica.

Uw REST API beveiligen

Om ervoor te zorgen dat de communicatie tussen de aangepaste verificatie-extensie en uw REST API op de juiste wijze wordt beveiligd, moeten er meerdere beveiligingsmaatregelen worden toegepast.

  1. Wanneer de aangepaste verificatie-extensie uw REST API aanroept, wordt er een HTTP-header met een Bearer-token Authorization verzonden dat is uitgegeven door Microsoft Entra ID.
  2. Het bearer token bevat een appid of azp claim. Controleer of de respectieve claim de 99045fe1-7639-4a75-9d4a-577b6ca3810f waarde bevat. Deze waarde zorgt ervoor dat de Microsoft Entra-id degene is die de REST API aanroept.
    1. Bij V1-toepassingen, valideer de appid claim.
    2. Voor V2 toepassingen, valideer de azp claim.
  3. De doelgroepclaim voor bearer-token aud bevat de ID van de bijbehorende toepassingsregistratie. Uw REST API-eindpunt moet valideren dat het Bearer-token is uitgegeven voor die specifieke doelgroep.
  4. De bearer-tokenverlenerclaim iss bevat de URL van de Microsoft Entra-verlener. Afhankelijk van uw tenantconfiguratie is de URL van de verlener een van de volgende;
    • Personeel: https://login.microsoftonline.com/{tenantId}/v2.0.
    • Klant: https://{domainName}.ciamlogin.com/{tenantId}/v2.0.

Aangepaste authenticatie-gebeurtenistypen

Binnen een gebruikersstroom voor registratie en aanmelding zijn er ingebouwde verificatiegebeurtenissen. U kunt ook aangepaste verificatie-extensies toevoegen op specifieke punten binnen de verificatiestroom. Een aangepaste verificatie-extensie is in feite een gebeurtenislistener die, wanneer deze wordt geactiveerd, een HTTP-aanroep maakt naar een REST API-eindpunt waar u een werkstroomactie definieert. In deze sectie worden de aangepaste verificatie-gebeurtenissen vermeld die beschikbaar zijn in Microsoft Entra ID.

Start-gebeurtenis voor tokenuitgifte

De startgebeurtenis voor tokenuitgifte OnTokenIssuance Start wordt geactiveerd wanneer een token op het punt staat om te worden uitgegeven aan een toepassing. Het is een gebeurtenistype dat is ingesteld binnen een aangepaste claimprovider. De aangepaste claimprovider is een aangepaste verificatie-extensie die een REST API aanroept om claims op te halen uit externe systemen. Een aangepaste claimprovider wijst claims van externe systemen toe aan tokens en kan worden toegewezen aan een of meer toepassingen in uw directory.

Zie aangepaste claimprovidersvoor meer informatie.

Begin van kenmerkverzameling

Start-gebeurtenissen voor kenmerkverzamelingen kunnen worden gebruikt met aangepaste verificatie-extensies om logica toe te voegen voordat kenmerken van een gebruiker worden verzameld. De gebeurtenis OnAttributeCollectionStart vindt plaats aan het begin van de stap voor het verzamelen van kenmerken, voordat de pagina voor het verzamelen van kenmerken wordt weergegeven. Hiermee kunt u acties toevoegen, zoals het vooraf doorvoeren van waarden en het weergeven van een blokkeringsfout.

Notitie

De startgebeurtenis van de kenmerkverzameling is alleen beschikbaar voor gebruikersstromen in Microsoft Entra External ID in externe huurders. Voor details, zie Uw eigen bedrijfslogica toevoegen.

Attribuutverzameling verzenden

Het indienen van kenmerkverzamelingsgebeurtenissen kan worden gebruikt met aangepaste authenticatie-extensies om logica toe te voegen nadat kenmerken van een gebruiker zijn verzameld. Het OnAttributeCollectionSubmit evenement vindt plaats nadat de gebruiker kenmerken invoert en verzendt, waardoor u acties kunt toevoegen zoals het valideren van vermeldingen of het wijzigen van kenmerken.

Notitie

De gebeurtenis voor het verzenden van de attributenverzameling is alleen beschikbaar voor gebruikersstromen in Microsoft Entra External ID bij externe tenants. Voor meer informatie, zie uw eigen bedrijfslogica toevoegen.

Eenmalige wachtwoordcode verzending gebeurtenis

De gebeurtenis OnOtpSend wordt geactiveerd wanneer een e-mail met een eenmalige wachtwoordcode wordt geactiveerd. Hiermee kunt u een REST API aanroepen om uw eigen e-mailprovider te gebruiken. Deze gebeurtenis kan worden gebruikt om aangepaste e-mailberichten te verzenden naar gebruikers die zich registreren, hun wachtwoord opnieuw instellen, zich aanmelden met e-mail en eenmalige wachtwoordcode of meervoudige verificatie (MFA) e-mailen.

Wanneer de gebeurtenis OnOtpSend is geactiveerd, verzendt Microsoft Entra een eenmalige wachtwoordcode naar de opgegeven REST API die u bezit. De REST API gebruikt vervolgens de door u gekozen e-mailprovider, zoals Azure Communication Service of SendGrid, om de eenmalige wachtwoordcode te verzenden met uw aangepaste e-mailsjabloon, van adres en e-mailonderwerp, terwijl ook lokalisatie wordt ondersteund.

Notitie

De verzendgebeurtenis voor eenmalige wachtwoordcodes is momenteel alleen beschikbaar voor gebruikersstromen in Microsoft Entra External ID in externe tenants. Zie Een aangepaste e-mailprovider configureren voor het verzenden van eenmalige wachtwoordcodes