Kurz konfigurace psaníDNA pomocí Azure Active Directory B2C

V tomto názorném postupu se dozvíte, jak integrovat ukázkovou online platební aplikaci v Azure Active Directory B2C s aplikací TypeingDNA. Pomocí aplikace TypingDNA můžou zákazníci Azure AD B2C vyhovět požadavkům na transakce podle směrnice PSD2 (Payment Services Directive 2) prostřednictvím dynamiky stisknutí kláves a silného ověřování zákazníků. Další informace o funkci TypingDNA najdete tady.

Azure AD B2C používá technologie TypeingDNA k zachycení charakteristik uživatelů při psaní a k jejich zaznamenání a analýze, aby se seznámili s jednotlivými ověřováními. Tím se přidá vrstva ochrany související s rizikovostí ověřování a vyhodnotí se úrovně rizika. Azure AD B2C může vyvolat další mechanismy, které zajistí větší jistotu, že uživatel je tím, za koho se vydávají, vyvoláním vícefaktorového ověřování Microsoft Entra, vynucením ověření e-mailu nebo jakékoli jiné vlastní logiky pro váš scénář.

Poznámka

Tato ukázková zásada je založená na úvodním balíčku SocialAndLocalAccountsWithMfa .

Popis scénáře

Snímek obrazovky s diagramem architektury TypeingDNA

Sign-up

  1. Azure AD stránky B2C používají javascriptovou knihovnu TypeingDNA k zaznamenání způsobu psaní uživatele. Například uživatelské jméno a heslo se zaznamená při registraci pro počáteční registraci a pak při každém přihlášení k ověření.

  2. Když uživatel odešle stránku, knihovna TypeingDNA vypočítá typovou charakteristiku uživatele. Poté vložte informace do skrytého textového pole, které Azure AD B2C vykreslí. Toto pole je skryté pomocí šablon stylů CSS.

    Ukázka obsahuje soubory HTML s úpravami JavaScriptu a CSS a odkazuje na api.selfasserted.tdnasignin definice obsahu aapi.selfasserted.tdnasignup. Projděte si hostování obsahu stránky pro hostování souborů HTML.

  3. Azure AD B2C teď má v kontejneru deklarací identity vzor psaní, když uživatel odešle své přihlašovací údaje. Aby bylo možné tato data předat koncovému bodu rozhraní REST API TypeingDNA, musí volat rozhraní API (vaše). Toto rozhraní API je součástí ukázky (zadání DNA-API-Interface).

  4. Rozhraní API střední vrstvy pak předá data vzoru zadávání do rozhraní REST API TypeingDNA. Při registraci se zavolá koncový bod kontroly uživatele , který potvrdí, že uživatel neexistuje, a pak se zavolá koncový bod vzoru uložení , který uloží první vzor zadávání uživatele.

Poznámka

Všechna volání koncového bodu rozhraní REST API TypeingDNA odesílají Id uživatele. Musí se jednat o hodnotu hash. Azure AD B2C používá HashObjectIdWithEmail transformaci deklarací identity k hash e-mailu pomocí náhodné soli a tajného kódu.

Volání rozhraní REST API se modelují pomocí validationTechnicalProfiles :LocalAccountSignUpWithLogonEmail-TDNA


<ValidationTechnicalProfiles>

    <ValidationTechnicalProfile ReferenceId="AAD-UserWriteUsingLogonEmail-TDNA" />
    <ValidationTechnicalProfile ReferenceId="REST-TDNA-CheckUser" ContinueOnError="true"/>

    <ValidationTechnicalProfile ReferenceId="REST-TDNA-SaveUser"/>

</ValidationTechnicalProfiles>

Přihlášení

Při dalším přihlášení se model zadávání uživatele vypočítá stejným způsobem jako při registraci pomocí vlastního KÓDU HTML. Jakmile je profil zadávání v kontejneru deklarací identity Azure AD B2C, Azure AD B2C zavolá vaše rozhraní API, aby volala koncový bod rozhraní REST API TypeingDNA. Zavolá se kontrola koncového bodu uživatele , aby se potvrdilo, že uživatel existuje. Dále ověřte, že se volá koncový bod vzoru, který vrátí net_score. To net_score ukazuje, jak blízko byl vzor psaní k původnímu modelu při registraci.

Tento vzor psaní se modeluje pomocí validationTechnicalProfiles :SelfAsserted-LocalAccountSignin-Email-TDNA


<ValidationTechnicalProfiles>

    <ValidationTechnicalProfile ReferenceId="login-NonInteractive"/>

    <ValidationTechnicalProfile ReferenceId="REST-TDNA-CheckUser" ContinueOnError="false"/>

    <ValidationTechnicalProfile ReferenceId="REST-TDNA-VerifyUser"/>

    <ValidationTechnicalProfile ReferenceId="REST-TDNA-SaveUser">

        <Preconditions>

            <Precondition Type="ClaimEquals" ExecuteActionsIf="true">

            <Value>saveTypingPattern</Value>

            <Value>False</Value>

            <Action>SkipThisValidationTechnicalProfile</Action>

            </Precondition>

        </Preconditions>

    </ValidationTechnicalProfile>

</ValidationTechnicalProfiles>

Pokud uživatel získá vzor psaní, který má vysokou net_scoreúroveň , můžete ho uložit pomocí koncového bodu TypeingDNA save typeing pattern ( TypingDNA save typeing pattern ).

Vaše rozhraní API musí vrátit deklaraci identitysaveTypingPattern, pokud chcete, aby koncový bod typu TypingDNA save typing volal Azure AD B2C (prostřednictvím vašeho rozhraní API).

Příklad v úložišti obsahuje rozhraní API (TypeingDNA-API-Interface), které je nakonfigurované s následujícími vlastnostmi.

  • Režim trénování – pokud má uživatel uložené méně než dva vzory, vždy se zobrazí výzva k zadání vícefaktorového ověřování.

  • Pokud má uživatel uložených 2 až 5 vzorů a net_score hodnota je nižší než 50, zobrazí se výzva k zadání vícefaktorového ověřování.

  • Pokud má uživatel více než 5 uložených vzorů a net_score hodnota je nižší než 65, zobrazí se výzva k zadání vícefaktorového ověřování.

Tyto prahové hodnoty by měly být upraveny v případě použití.

  • Jakmile vaše rozhraní API vyhodnotí net_scorehodnotu , mělo by vrátit logickou deklaraci identity do B2C – promptMFA.

  • Deklarace identity se promptMFA používá v rámci předběžné podmínky k podmíněnému spuštění vícefaktorového ověřování Microsoft Entra.


<OrchestrationStep Order="3" Type="ClaimsExchange">

    <Preconditions>

        <Precondition Type="ClaimsExist" ExecuteActionsIf="true">

            <Value>isActiveMFASession</Value>

            <Action>SkipThisOrchestrationStep</Action>

        </Precondition>

        <Precondition Type="ClaimEquals" ExecuteActionsIf="true">

            <Value>promptMFA</Value>

            <Value>False</Value>

            <Action>SkipThisOrchestrationStep</Action>

        </Precondition>

    </Preconditions>

    <ClaimsExchanges>

        <ClaimsExchange Id="PhoneFactor-Verify" TechnicalProfileReferenceId="PhoneFactor-InputOrVerify" />

    </ClaimsExchanges>

</OrchestrationStep>

Onboarding with TypeingDNA

  1. Tady se zaregistrujte pro psaníDNA.
  2. Přihlaste se k řídicímu panelu TypeingDNA a získejte klíč rozhraní API a tajný klíč rozhraní API. To bude potřeba při pozdějším nastavení rozhraní API.

Integrace funkce TypingDNA s Azure AD B2C

  1. Hostování rozhraní TypeingDNA-API-Interface u poskytovatele hostingu podle vašeho výběru

  2. Nahraďte všechny instance apiKey a apiSecret v řešení TypeingDNA-API-Interface přihlašovacími údaji z řídicího panelu TypeDNA.

  3. Hostování souborů HTML u poskytovatele podle vašeho výběru podle požadavků CORS zde

  4. Nahraďte elementy LoadURI pro api.selfasserted.tdnasignup definice obsahu a api.selfasserted.tdnasignin v TrustFrameworkExtensions.xml souboru identifikátorem URI hostovaných souborů HTML v uvedeném pořadí.

  5. V okně Microsoft Entra v Azure Portal vytvořte klíč zásad B2C v rámci architektury prostředí identit. Generate Použijte možnost a pojmenujte tento klíč tdnaHashedId.

  6. Nahrazení id tenanta v souborech zásad

  7. Nahraďte hodnoty ServiceURLs ve všech technických profilech rozhraní REST API TypeingDNA (REST-TDNA-VerifyUser, REST-TDNA-SaveUser, REST-TDNA-CheckUser) koncovým bodem pro rozhraní API TypeingDNA-API-Interface.

  8. Nahrajte soubory zásad do tenanta.

Testování toku uživatele

  1. Otevřete tenanta B2C a zvolte architekturu prostředí identit.

  2. Vyberte dříve vytvořený tok uživatele.

  3. Vyberte Spustit tok uživatele.

    a. Aplikace – vyberte zaregistrovanou aplikaci (ukázka je JWT).

    b. Adresa URL odpovědi – vyberte adresu URL pro přesměrování.

    c. Vyberte Spustit tok uživatele.

  4. Projděte si tok registrace a vytvořte účet.

  5. Odhlásit se

  6. Projít tok přihlášení

  7. Výsledný výsledek JWT zobrazí výsledky TypeingDNA

Živá verze

• V této testovací verzi bylo vícefaktorové ověřování zakázané, ale můžete vidět výsledek, jestli se vícefaktorové ověřování zobrazilo po ověření výzvou k vícefaktorovému promptMFA ověřování.

• Zaregistrujte se zde a přihlaste se zde.

Další kroky

Další informace najdete v následujících článcích: