Sdílet prostřednictvím


Přehled vlastních rozšíření pro ověřování

Kanál ověřování Microsoft Entra ID se skládá z několika předdefinovaných událostí ověřování, jako je ověření přihlašovacích údajů uživatele, zásady podmíněného přístupu, vícefaktorové ověřování, samoobslužné resetování hesla a další.

Rozhraní vlastního ověřování Microsoft Entra umožňuje rozšířit toky ověřování přidáním vlastní obchodní logiky na určitých místech v rámci toku ověřování. Rozšíření vlastního ověřování je v podstatě naslouchací program pro události, který při aktivaci provádí HTTP požadavek na koncový bod REST API, kde definujete akci pracovního postupu.

Můžete například použít vlastního zprostředkovatele deklarací identity k přidání dat externích uživatelů do tokenu zabezpečení před vydáním tokenu. Můžete přidat pracovní postup shromažďování atributů pro ověření atributů, které uživatel zadá během registrace. Tento článek obsahuje obecný technický přehled vlastních rozšíření ověřování Microsoft Entra ID.

Video Microsoft Entra Custom Authentication Extension Overview poskytuje komplexní přehled klíčových funkcí a možností vlastních rozšíření ověřování.

Přehled součástí

Je potřeba nakonfigurovat dvě komponenty: vlastní rozšíření ověřování v Microsoft Entra a rozhraní REST API. Rozšíření vlastního ověřování určuje koncový bod rozhraní REST API, kdy se má rozhraní REST API volat, a přihlašovací údaje pro volání rozhraní REST API.

Toto video obsahuje podrobné pokyny ke konfiguraci vlastních rozšíření ověřování Microsoft Entra a nabízí osvědčené postupy a užitečné tipy pro optimální implementaci.

Proces přihlášení

Následující diagram znázorňuje tok přihlášení integrovaný s vlastním rozšířením ověřování.

Diagram znázorňující rozšíření tokenu deklaracemi z externího zdroje

  1. Uživatel se pokusí přihlásit k aplikaci a přesměruje se na přihlašovací stránku Microsoft Entra.
  2. Jakmile uživatel dokončí určitý krok ověřování, je spuštěn posluchač události.
  3. Vaše vlastní rozšíření pro ověřování odešle požadavek HTTP do koncového bodu vaší REST API. Požadavek obsahuje informace o události, profilu uživatele, datech relace a dalších kontextových informacích.
  4. Rozhraní REST API provádí vlastní pracovní postup.
  5. Rozhraní REST API vrátí odpověď HTTP pro Microsoft Entra ID.
  6. Vlastní rozšíření ověřování Microsoft Entra zpracuje odpověď a přizpůsobí ověřování na základě typu události a datové části odpovědi HTTP.
  7. Do aplikace se vrátí token.

Koncové body rozhraní REST API

Při aktivaci události vyvolá ID Microsoft Entra koncový bod rozhraní REST API, který vlastníte. Rozhraní REST API musí být veřejně přístupné. Je možné ji hostovat pomocí Azure Functions, Azure App Service, Azure Logic Apps nebo jiného veřejně dostupného koncového bodu rozhraní API.

Máte flexibilitu používat jakýkoli programovací jazyk, framework nebo řešení s nízkým množstvím kódu nebo bez kódu, jako je Azure Logic Apps, k vývoji a nasazení vašeho rozhraní REST API. Pokud chcete rychle začít, zvažte použití funkce Azure Functions. Umožňuje spouštět kód v bezserverovém prostředí, aniž byste museli nejprve vytvořit virtuální počítač nebo publikovat webovou aplikaci.

Vaše rozhraní REST API musí zpracovávat:

V tomto videu se dozvíte, jak vytvořit koncový bod rozhraní REST API pro rozšíření ověřování pomocí Azure Logic Apps bez psaní kódu. Aplikace logiky Azure umožňuje uživatelům vytvářet pracovní postupy pomocí vizuálního návrháře. Video popisuje přizpůsobení ověřovacích e-mailů a vztahuje se na všechny typy vlastních rozšíření ověřování, včetně vlastních zprostředkovatelů deklarací identity.

Obsah žádosti

Požadavek na rozhraní REST API obsahuje datovou část JSON obsahující podrobnosti o události, profilu uživatele, datech žádosti o ověření a dalších kontextových informacích. Atributy v datové části JSON je možné použít k provádění logiky rozhraní API.

Například v události spuštění vystavení tokenu může datová část požadavku obsahovat jedinečný identifikátor uživatele, který umožňuje načíst profil uživatele z vlastní databáze. Datová část požadavku musí dodržovat schéma uvedené v dokumentu události.

Vrácení dat a typu akce

Jakmile webové rozhraní API provede pracovní postup s obchodní logikou, musí vrátit typ akce , který směruje Microsoft Entra, jak pokračovat v procesu ověřování.

Například v případě událostí spuštění kolekce atributů a odeslání kolekce atributů určuje typ akce vrácený vaším webovým rozhraním API, jestli se účet dá vytvořit v adresáři, zobrazí chybu ověření nebo úplně zablokuje tok registrace.

Odpověď rozhraní REST API může obsahovat data. Například počáteční událost vystavení tokenu může poskytnout sadu atributů, které lze mapovat na zabezpečovací token.

Ochrana rozhraní REST API

Aby bylo zajištěno, že komunikace mezi vlastním rozšířením ověřování a vaším rozhraním REST API je zabezpečená správně, je potřeba použít více bezpečnostních prvků.

  1. Když vlastní rozšiřující modul ověřování volá vaše rozhraní REST API, odešle hlavičku HTTP Authorization s předávacím tokenem vydaným Microsoft Entra ID.
  2. Nosný token obsahuje appid nebo azp nárok. Ověřte, že příslušný nárok obsahuje hodnotu 99045fe1-7639-4a75-9d4a-577b6ca3810f. Tato hodnota zajišťuje, že Microsoft Entra ID je ten, kdo volá rozhraní API.
    1. V případě aplikací V1 ověřte appid nárok.
    2. V případě aplikací V2 ověřte azp nárok.
  3. Deklarace cílové skupiny nosného tokenu aud obsahuje ID přidružené registrace aplikace. Koncový bod rozhraní REST API musí ověřit, že je pro danou cílovou skupinu vystaven nosný token.
  4. Tvrzení o vystaviteli tokenu typu bearer iss obsahuje adresu URL vystavitele Microsoft Entra. Podle konfigurace vašeho tenanta je adresa URL vydavatele jednou z následujících:
    • Pracovní síla: https://login.microsoftonline.com/{tenantId}/v2.0.
    • Zákazník: https://{domainName}.ciamlogin.com/{tenantId}/v2.0.

Vlastní typy událostí ověřování

Tato část obsahuje seznam událostí rozšíření vlastního ověřování, které jsou k dispozici v rámci Microsoft Entra ID pro pracovní prostředí a externí uživatele. Podrobné informace o událostech najdete v příslušné dokumentaci.

Událost Tenant pracovních sil Externí nájemce
Spuštění vystavování tokenů
Zahájení sběru atributů
Odeslání kolekce atributů
Jednorázové odeslání hesla

Zahájení vydávání tokenů

Událost zahájení vydávání tokenu OnTokenIssuanceStart se aktivuje, když má být token vydán aplikaci. Jedná se o typ události definovaný v rámci vlastního zprostředkovatele identifikačních deklarací. Vlastní poskytovatel nároků je autentizační rozšíření, které volá rozhraní REST API k načtení nároků z externích systémů. Vlastní zprostředkovatel přihlášení přiřazuje přihlášení z externích systémů na tokeny a může být přiřazen k jedné nebo více aplikacím ve vašem adresáři.

Návod

Vyzkoušet teď

Pokud si chcete tuto funkci vyzkoušet, přejděte do ukázky potravin Woodgrove a spusťte případ použití "Přidání deklarací identity do tokenů zabezpečení z rozhraní REST API".

Začátek kolekce atributů

Počáteční události kolekce atributů lze použít s vlastními rozšířeními ověřování k přidání logiky před shromažďováním atributů od uživatele. Událost OnAttributeCollectionStart nastane na začátku kroku sběru atributů, před vykreslením stránky sběru atributů. Umožňuje přidat akce, jako jsou předvyplňování hodnot a zobrazení blokující chyby.

Návod

Vyzkoušet teď

Pokud si chcete tuto funkci vyzkoušet, přejděte na demo stránky Woodgrove Groceries a spusťte scénář použití "Předem vyplnit atributy registrace".

Odeslat kolekci atributů

Události odeslání kolekce atributů lze použít s vlastními rozšířeními ověřování k přidání logiky po shromáždění atributů od uživatele. Událost OnAttributeCollectionSubmit se aktivuje poté, co uživatel zadá a odešle atributy, což vám umožní přidat akce, jako je ověřování položek nebo úpravy atributů.

Návod

Vyzkoušet teď

Pokud si chcete tuto funkci vyzkoušet, přejděte na demo Woodgrove Groceries a spusťte případ použití ověřování atributů registrace nebo případ použití blokování uživatele v pokračování procesu registrace.

Jednorázové odeslání hesla

Událost OnOtpSend je spuštěna, když je aktivován email s jednorázovým heslem. Umožňuje volat rozhraní REST API pro použití vlastního poskytovatele e-mailu. Tato událost se dá použít k odesílání přizpůsobených e-mailů uživatelům, kteří se zaregistrují pomocí e-mailové adresy, přihlásí se pomocí jednorázového hesla (E-mail OTP), resetují si heslo pomocí jednorázového hesla e-mailu nebo použijí ověřování vícefaktorovým ověřováním (MFA).

Když je aktivována událost OnOtpSend, Microsoft Entra odešle jednorázové heslo do zadaného rozhraní REST API, které vlastníte. Rozhraní REST API pak použije zvoleného poskytovatele e-mailu, jako je služba Azure Communication Service nebo SendGrid, k odeslání jednorázového hesla s vlastní e-mailovou šablonou, z adresy a předmětu e-mailu a zároveň podporuje lokalizaci.

Návod

Vyzkoušet teď

Pokud si chcete tuto funkci vyzkoušet, přejděte na ukázku Woodgrove Potraviny a spusťte případ použití "Použít vlastního poskytovatele e-mailu pro jednorázový kód".