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
Tworzenie konta
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.
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 iapi.selfasserted.tdnasignup
. Zapoznaj się z tematem hostowania zawartości strony w celu hostowania plików HTML.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).
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_score
API 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
- Zarejestruj się, aby wpisać nazwęDNA tutaj
- 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
Hostowanie interfejsu API-TYPingDNA u wybranego dostawcy hostingu
Zastąp wszystkie wystąpienia elementu i
apiSecret
w rozwiązaniuapiKey
TypingDNA-API-Interface poświadczeniami z pulpitu nawigacyjnego TypingDNAHostowanie plików HTML u wybranego dostawcy zgodnie z wymaganiami mechanizmu CORS tutaj
Zastąp elementy LoadURI dla
api.selfasserted.tdnasignup
definicji zawartości iapi.selfasserted.tdnasignin
wTrustFrameworkExtensions.xml
pliku odpowiednio do identyfikatora URI hostowanych plików HTML.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 klucztdnaHashedId
.Zastąp wartości TenantId w plikach zasad
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.
Przekaż pliki zasad do dzierżawy.
Testowanie przepływu użytkownika
Otwórz dzierżawę B2C i wybierz platformę środowiska obsługi tożsamości.
Wybierz utworzony wcześniej przepływ użytkownika.
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.
Przechodzenie przez przepływ rejestracji i tworzenie konta
Wyloguj się
Przechodzenie przez przepływ logowania
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: