Udostępnij za pośrednictwem


Samouczek dotyczący konfigurowania nazwy TypingDNA przy użyciu usługi Azure Active Directory B2C

Z tego przewodnika dowiesz się, jak zintegrować przykładową aplikację do płatności online w usłudze Azure Active Directory B2C z aplikacją TypingDNA. Korzystając z aplikacji TypingDNA, klienci usługi Azure AD B2C mogą spełnić wymagania dotyczące transakcji w usłudze Payment Services 2 (PSD2) za pomocą dynamicznego naciśnięcia i silnego uwierzytelniania klienta. Więcej informacji na temat wpisywania nazwyDNA znajdziesz tutaj.

Usługa Azure AD B2C używa technologii TypingDNA do przechwytywania cech wpisywanych przez użytkowników i rejestrowania i analizowania pod kątem znajomości każdego uwierzytelniania. Spowoduje to dodanie warstwy ochrony związanej z ryzykiem uwierzytelniania i ocenę poziomów ryzyka. Usługa Azure AD B2C może wywoływać inne mechanizmy, aby zapewnić większą pewność, że użytkownik jest tym, kim twierdzi, wywołując uwierzytelnianie wieloskładnikowe firmy Microsoft Entra, wymuszając weryfikację poczty e-mail lub dowolną inną niestandardową logikę dla danego scenariusza.

Uwaga

Te przykładowe zasady są oparte na pakiecie startowym SocialAndLocalAccountsWithMfa .

Opis scenariusza

Zrzut ekranu przedstawiający diagram architektury TypingDNA

Tworzenie konta

  1. Strony usługi Azure AD B2C używają biblioteki Języka JavaScript usługi TypingDNA do rejestrowania wzorca pisania użytkownika. Na przykład nazwa użytkownika i hasło są rejestrowane podczas rejestracji początkowej, a następnie podczas każdego logowania w celu weryfikacji.

  2. Gdy użytkownik prześle stronę, biblioteka TypingDNA obliczy charakterystykę wpisywania użytkownika. Następnie wstaw informacje do ukrytego pola tekstowego, które zostało renderowane przez usługę Azure AD B2C. To pole jest ukryte w arkuszu CSS.

    Przykład zawiera pliki HTML z modyfikacjami języka JavaScript i CSS oraz jest przywołyny przez api.selfasserted.tdnasignin definicje zawartości i api.selfasserted.tdnasignup . Zapoznaj się z tematem hostowania zawartości strony w celu hostowania plików HTML.

  3. Usługa Azure AD B2C ma teraz wzorzec pisania w torbie oświadczeń, gdy użytkownik prześle swoje poświadczenia. Należy wywołać interfejs API (Twoje), aby przekazać te dane do punktu końcowego interfejsu API REST TypingDNA. Ten interfejs API jest zawarty w przykładzie (typDNA-API-Interface).

  4. Interfejs API warstwy środkowej przekazuje następnie dane wzorca wpisywania do interfejsu API REST TypingDNA. Podczas rejestracji punkt końcowy sprawdź użytkownika jest wywoływany, aby potwierdzić, że użytkownik nie istnieje, a następnie punkt końcowy wzorca zapisywania jest wywoływany w celu zapisania pierwszego wzorca pisania użytkownika.

Uwaga

Wszystkie wywołania punktu końcowego interfejsu API REST TypingDNA wysyłają identyfikator UserId. Musi to być wartość skrótu. Usługa Azure AD B2C używa HashObjectIdWithEmail przekształcenia oświadczeń w celu utworzenia skrótu wiadomości e-mail z losową solą i wpisem tajnym.

Wywołania interfejsu API REST są modelowane za pomocą validationTechnicalProfiles polecenia LocalAccountSignUpWithLogonEmail-TDNA:


<ValidationTechnicalProfiles>

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

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

</ValidationTechnicalProfiles>

Logowanie

Podczas kolejnych logowania wzorzec wpisywania użytkownika jest obliczany w taki sam sposób, jak podczas rejestracji przy użyciu niestandardowego kodu HTML. Gdy profil wpisywania znajduje się w worku oświadczeń usługi Azure AD B2C, usługa Azure AD B2C wywoła interfejs API w celu wywołania punktu końcowego interfejsu API REST TypingDNA. Sprawdź punkt końcowy użytkownika jest wywoływany w celu potwierdzenia, że użytkownik istnieje. Następnie sprawdź, czy punkt końcowy wzorca jest wywoływanynet_score, aby zwrócić element . Jest to net_score wskazanie, jak blisko wzorca wpisywania było oryginalne podczas rejestracji.

Ten wzorzec wpisywania jest modelowany za pomocą validationTechnicalProfiles elementu w programie 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>

Jeśli użytkownik uzyska wzorzec wpisywania o wysokim poziomie net_score, możesz zapisać go przy użyciu punktu końcowego wzorca wpisywania typingDNA.

Interfejs API musi zwrócić oświadczenie saveTypingPattern , jeśli chcesz, aby punkt końcowy wzorca wpisywania w typingDNA był wywoływany przez usługę Azure AD B2C (za pośrednictwem interfejsu API).

Przykład w repozytorium zawiera interfejs API (TypingDNA-API-Interface), który jest skonfigurowany przy użyciu następujących właściwości.

  • Tryb trenowania — jeśli użytkownik ma mniej niż dwa wzorce zapisane, zawsze monituj o uwierzytelnianie wieloskładnikowe.

  • Jeśli użytkownik ma zapisane wzorce 2–5, a wartość net_score jest niższa niż 50, wyświetl monit o uwierzytelnianie wieloskładnikowe.

  • Jeśli użytkownik ma zapisane 5+ wzorce, a wartość net_score jest niższa niż 65, wyświetl monit o uwierzytelnianie wieloskładnikowe.

Te progi należy dostosować w przypadku użycia.

  • Po ocenie wartości interfejsu net_scoreAPI powinna zwrócić oświadczenie logiczne do usługi B2C — promptMFA.

  • Oświadczenie promptMFA jest używane w warunku wstępnym do warunkowego wykonywania uwierzytelniania wieloskładnikowego firmy 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>

Dołączanie przy użyciu funkcji TypingDNA

  1. Zarejestruj się, aby wpisać nazwęDNA tutaj
  2. Zaloguj się do pulpitu nawigacyjnego pisaniaDNA i uzyskaj klucz interfejsu API i klucz tajny interfejsu API. Będzie to potrzebne w konfiguracji interfejsu API później

Integrowanie aplikacji TypingDNA z usługą Azure AD B2C

  1. Hostowanie interfejsu API-TYPingDNA u wybranego dostawcy hostingu

  2. Zastąp wszystkie wystąpienia elementu i apiSecret w rozwiązaniu apiKey TypingDNA-API-Interface poświadczeniami z pulpitu nawigacyjnego TypingDNA

  3. Hostowanie plików HTML u wybranego dostawcy zgodnie z wymaganiami mechanizmu CORS tutaj

  4. Zastąp elementy LoadURI dla api.selfasserted.tdnasignup definicji zawartości i api.selfasserted.tdnasignin w TrustFrameworkExtensions.xml pliku odpowiednio do identyfikatora URI hostowanych plików HTML.

  5. Utwórz klucz zasad B2C w ramach struktury środowiska tożsamości w bloku Microsoft Entra w witrynie Azure Portal. Użyj opcji i nadaj Generate tej nazwie ten klucz tdnaHashedId.

  6. Zastąp wartości TenantId w plikach zasad

  7. Zastąp wartości ServiceURLs we wszystkich profilach technicznych interfejsu API REST TypingDNA (REST-TDNA-VerifyUser, REST-TDNA-SaveUser, REST-TDNA-CheckUser) punktem końcowym interfejsu API wpisywaniaDNA-API.

  8. Przekaż pliki zasad do dzierżawy.

Testowanie przepływu użytkownika

  1. Otwórz dzierżawę B2C i wybierz platformę środowiska obsługi tożsamości.

  2. Wybierz utworzony wcześniej przepływ użytkownika.

  3. Wybierz pozycję Uruchom przepływ użytkownika

    a. Aplikacja — wybierz zarejestrowaną aplikację (przykład to JWT)

    b. Adres URL odpowiedzi — wybierz adres URL przekierowania

    c. Wybierz Uruchom przepływ użytkownika.

  4. Przechodzenie przez przepływ rejestracji i tworzenie konta

  5. Wyloguj się

  6. Przechodzenie przez przepływ logowania

  7. Wynikowy wynik JWT spowoduje wyświetlenie wyników TypingDNA

Wersja Live

• Uwierzytelnianie wieloskładnikowe zostało wyłączone w tej wersji testowej, ale można sprawdzić, czy usługa MFA zostałaby poproszona przez oświadczenie promptMFA po uwierzytelnieniu.

• Zarejestruj się tutaj i zaloguj się tutaj

Następne kroki

Aby uzyskać dodatkowe informacje, zapoznaj się z następującymi artykułami: