Ověření atributů shromážděných během registrace
Cvičení – ověření atributů shromážděných během registrace
Rozšíření vlastního ověřování podporuje událost odeslání kolekce atributů. Tato událost umožňuje provádět ověřování atributů shromážděných od uživatele během registrace. Na našem webu s potravinami ověříme název města v seznamu zemí zkompilovaných v rozhraní REST API pro rozšíření vlastního ověřování. Pokud město obsahuje blok, Microsoft Entra Externí ID zobrazí stránku bloku. Pokud město obsahuje úpravy, Microsoft Entra Externí ID upraví některé atributy (zobrazovaný název a město).)
Poznámka:
Ke konfiguraci ověřování atributů shromážděných během registrace budete potřebovat alespoň roli adresáře Správce rozšiřitelnosti ověřování.
Tato role je privilegovaná role. Přečtěte si o osvědčených postupech pro práci s privilegovanými rolemi.
Máte zpětnou vazbu? Dejte nám prosím vědět, jak váš projekt testování konceptu probíhá. Rádi se dozvíme váš názor!
Tip
Můžete si také prohlédnout příklad webového rozhraní API .NET C#, které ukazuje použití vlastního rozšíření ověřování Microsoft Entra Externí ID pro různé události.
Začněte registrací vlastního rozšíření ověřování, které používá Microsoft Entra Externí ID k volání rozhraní REST API. Rozšíření vlastního ověřování obsahuje informace o koncovém bodu rozhraní REST API, akci spuštění kolekce atributů, kterou analyzuje z rozhraní REST API, a o tom, jak se ověřit v rozhraní REST API. Přihlaste se do Centra pro správu Microsoft Entra a přejděte k >identit. Poznámka: Můžete také přejít na rozšíření vlastního ověřování podnikových aplikací aplikací>>. Pak vyberte Vytvořit vlastní rozšíření.
V části Základy vyberte událost AttributeCollectionSubmit a pak vyberte Další.
V konfiguraci koncového bodu vyplňte následující vlastnosti:
Název – název vlastního rozšíření ověřování, například Ověření uživatelského vstupu pro registraci.
Cílová adresa URL – adresa URL rozhraní REST API.
Časový limit v milisekundách – Maximální počet opakování, které koncový bod rozhraní API zavolá v případě selhání. Pokud je tato hodnota prázdná, ve výchozím nastavení se tato hodnota nastaví na výchozí hodnotu služby.
Maximální počet opakování – maximální počet opakování, které koncový bod rozhraní API zavolá v případě selhání. Pokud je tato hodnota prázdná, ve výchozím nastavení se tato hodnota nastaví na výchozí hodnotu služby.
Popis – popis vlastních rozšíření ověřování. Pokračujte výběrem tlačítka Next (Další).
Aby bylo zajištěno, že komunikace mezi vlastním rozšířením ověřování a rozhraním REST API je zabezpečená odpovídajícím způsobem, je potřeba použít více kontrolních mechanismů zabezpečení. Prvním krokem je vytvoření nebo výběr aplikace, která Microsoft Entra Externí ID používá. K zabezpečení volání koncového bodu rozhraní API používá tok udělení přihlašovacích údajů klienta OAuth 2.0.
Pokud se jedná o vaše první vlastní rozšíření ověřování, podívejte se, jak jsme nakonfigurovali naši událost TokenIssuanceStart. Vzhledem k tomu, že jsme už nakonfigurovali vlastní rozšíření ověřování, zvolte v části Ověřování rozhraní API možnost Vybrat existující registraci aplikace v tomto adresáři.
Vyberte aplikaci, kterou jste nakonfigurovali pro další rozšíření vlastního ověřování, a zvolte Vybrat.
Zkontrolujte konfiguraci a vyberte Vytvořit, čímž zaregistrujete vlastní rozšíření ověřování, které jste nakonfigurovali, a přidruženou registraci aplikace, kterou jste vybrali.
V tomto okamžiku je ve vašem tenantovi nakonfigurované vlastní rozšíření ověřování, ale nepoužívá se na žádné registrační stránce. V dalším kroku přidružíte vlastní rozšíření ověřování k jednomu nebo několika tokům uživatelů. Uděláte to tak, že přejdete k >tokům identity externích>identit uživatelů. Pak v seznamu vyberte tok uživatele.
V nabídce vyberte Rozšíření vlastního ověřování. Pokud chcete přidružit vlastní rozšíření ověřování, vyberte položku Před shromažďováním informací z události uživatele .
Zobrazí se vlastní rozšíření nakonfigurovaná pro událost OnAttributeCollectionStart . Vyberte jednu z nich pro počáteční událost kolekce atributů a pak zvolte Vybrat , aby se změny uložily.
Skvělá práce! Vytvořili jste vlastní rozšíření ověřování typu OnAttributeCollectionSubmit a pak ho přidružte k toku uživatele.
1. Registrace vlastní aplikace rozšíření ověřování
Pokud se jedná o vaše první vlastní rozšíření ověřování, zaregistrujte aplikaci rozšíření vlastního ověřování.
2. Registrace rozšíření vlastního ověřování
Dále zaregistrujete vlastní rozšíření ověřování. Vlastní rozšíření ověřování zaregistrujete tím, že ho přidružujete k aplikaci zabezpečení vlastního rozšíření ověřování, kterou jste vytvořili, a ke koncovému bodu rozhraní REST API. Nahraďte následující hodnoty vlastními hodnotami: - {app-ID} s ID aplikace z předchozího volání Aplikace pro zabezpečení rozšíření vlastního ověřování. - {REST-API-domain} s názvem domény rest API { Endpoint-URL} s RUL koncového bodu rozhraní REST API
POST https://graph.microsoft.com/beta/identity/customAuthenticationExtensions
{
"@odata.type": "#microsoft.graph.onAttributeCollectionSubmitCustomExtension",
"displayName": "Validate sign-up user input",
"description": "Validate user input including the city name and may ask the user to correct the data or block the user",
"behaviorOnError": null,
"authenticationConfiguration": {
"@odata.type": "#microsoft.graph.azureAdTokenAuthentication",
"resourceId": "api://{REST-API-domain}/{app-ID}"
},
"endpointConfiguration": {
"@odata.type": "#microsoft.graph.httpRequestEndpoint",
"targetUrl": "{Endpoint-URL}"
},
"clientConfiguration": {
"timeoutInMilliseconds": null,
"maximumRetries": null
}
}
Příklad
POST https://graph.microsoft.com/beta/identity/customAuthenticationExtensions
{
"@odata.type": "#microsoft.graph.onAttributeCollectionSubmitCustomExtension",
"displayName": "Validate sign-up user input",
"description": "Validate user input including the city name and may ask the user to correct the data or block the user",
"behaviorOnError": null,
"authenticationConfiguration": {
"@odata.type": "#microsoft.graph.azureAdTokenAuthentication",
"resourceId": "api://auth-api.woodgrovedemo.com/a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1"
},
"endpointConfiguration": {
"@odata.type": "#microsoft.graph.httpRequestEndpoint",
"targetUrl": "https://auth-api.woodgrovedemo.com/OnAttributeCollectionSubmit"
},
"clientConfiguration": {
"timeoutInMilliseconds": null,
"maximumRetries": null
}
}
2.1 Zkopírujte ID vlastního rozšíření ověřování.
Z odpovědi zkopírujte hodnotu ID. Například:
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#identity/customAuthenticationExtensions/$entity",
"@odata.type": "#microsoft.graph.onAttributeCollectionStartCustomExtension",
"id": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"displayName": "Prepopulate sign-up attributes",
"description": "Prepopulate sign-up attributes from a REST API",
}
2.2 Vytvoření naslouchacího procesu událostí ověřování
Po registraci vlastního rozšíření ověřování vytvořte naslouchací proces události ověřování. V dalším kódu JSON nahraďte {Custom-auth-extension-ID} vlastním rozšířením ověřování, které jste právě vytvořili.
POST https://graph.microsoft.com/beta/identity/authenticationEventListeners
{
"@odata.type": "#microsoft.graph.onAttributeCollectionSubmitListener",
"conditions": {
"applications": {
"includeAllApplications": false,
"includeApplications": []
}
},
"priority": 500,
"handler": {
"@odata.type": "#microsoft.graph.onAttributeCollectionSubmitCustomExtensionHandler",
"customExtension": {
"id": "{Custom-auth-extension-ID}"
}
}
}
Příklad
POST https://graph.microsoft.com/beta/identity/authenticationEventListeners
{
"@odata.type": "#microsoft.graph.onAttributeCollectionSubmitListener",
"conditions": {
"applications": {
"includeAllApplications": false,
"includeApplications": []
}
},
"priority": 500,
"handler": {
"@odata.type": "#microsoft.graph.onAttributeCollectionSubmitCustomExtensionHandler",
"customExtension": {
"id": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
}
}
}
2.3 Propojení rozšíření vlastního ověřování s tokem uživatele
Aktualizujte tok uživatele. V následujícím požadavku nahraďte následující hodnoty vlastními hodnotami: { user-flow-ID} za ID toku uživatele. - {Custom-auth-extension-ID} s vlastním rozšířením ověřování, které jste právě vytvořili.
PUT https://graph.microsoft.com/beta/identity/authenticationEventsFlows/{user-flow-ID}/microsoft.graph.externalUsersSelfServiceSignUpEventsFlow/onAttributeCollectionSubmit/microsoft.graph.onAttributeCollectionSubmitCustomExtensionHandler/customExtension/$ref
{
"@odata.id": "https://graph.microsoft.com/beta/identity/customAuthenticationExtensions/{Custom-auth-extension-ID}"
}
Příklad
PUT https://graph.microsoft.com/beta//identity/authenticationEventsFlows/bbbbbbbb-1111-2222-3333-cccccccccccc/microsoft.graph.externalUsersSelfServiceSignUpEventsFlow/onAttributeCollectionSubmit/microsoft.graph.onAttributeCollectionSubmitCustomExtensionHandler/customExtension/$ref
{
"@odata.id": "https://graph.microsoft.com/beta/identity/customAuthenticationExtensions/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
}