Ověření atributů shromážděných během registrace

Dokončeno

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.

  1. 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í.

    Snímek obrazovky okna Rozšíření vlastního ověřování externích identit se zvýrazněním tlačítka na panelu nástrojů s názvem Vytvořit vlastní rozšíření

  2. V části Základy vyberte událost AttributeCollectionSubmit a pak vyberte Další.

    Snímek obrazovky s kartou Základy v okně Vytvořit nové vlastní rozšíření se zvýrazněným typem události s názvem Odeslání kolekce atributů

  3. 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ší).

      Snímek obrazovky s kartou Konfigurace koncového bodu v okně Vytvořit nové vlastní rozšíření zobrazující pole Název, Cílová adresa URL, Časový limit v milisekundách, Maximální počet opakování a Popis

  4. 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.

    Snímek obrazovky s kartou Ověřování rozhraní API v okně Vytvořit nové vlastní rozšíření se zvýrazněnou možností přepínaču Vyberte existující registraci aplikace v tomto adresáři a vyberte aplikaci pod typem registrace aplikace.

  5. Vyberte aplikaci, kterou jste nakonfigurovali pro další rozšíření vlastního ověřování, a zvolte Vybrat.

    Snímek obrazovky s otevřeným podoknem Vybrat aplikaci vpravo, která zvýrazní aplikaci s názvem Vlastní rozšíření ověřování, je zaškrtnutá.

  6. 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.

    Snímek obrazovky s kartou Revize okna Vytvořit nové vlastní rozšíření zobrazující konfigurace koncového bodu a konfigurace ověřování rozhraní API

  7. 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.

    Snímek obrazovky s oknem Toky externích identit uživatele se zvýrazněným tokem uživatele s názvem Výchozí v seznamu toků uživatelů

  8. 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 .

    Snímek obrazovky s oknem Vlastní rozšíření ověřování pro tok uživatele s názvem Výchozí, které zvýrazní tlačítko Upravit vedle položky Když uživatel odešle své informace

  9. 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.

    Snímek obrazovky s podoknem Vlastní rozšíření, které se otevře napravo, se zvýrazněným uživatelským vstupem pro ověření registrace a jeho adresou URL v rozevírací nabídce Pro výběr vlastního rozšíření

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"
        }
    }
}

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"
}