Självstudie för att konfigurera TypingDNA med Azure Active Directory B2C
I den här genomgången får du lära dig hur du integrerar ett exempel på en onlinebetalningsapp i Azure Active Directory B2C med TypingDNA APP. Med hjälp av TypingDNA-appen kan Azure AD B2C-kunder uppfylla transaktionskraven för Payment Services Directive 2 (PSD2) genom tangenttryckningsdynamik och stark kundautentisering. Läs mer om att skrivaDNA här.
Azure AD B2C använder TypingDNA:s tekniker för att samla in de användare som skriver egenskaper och få dem registrerade och analyserade för att bekanta sig med varje autentisering. Detta lägger till ett skyddslager som är relaterat till riskfyllda autentiseringar och utvärderar risknivåerna. Azure AD B2C kan anropa andra mekanismer för att ge ytterligare förtroende för att användaren är den de påstår sig vara genom att anropa Microsoft Entra multifaktorautentisering, tvinga e-postverifiering eller annan anpassad logik för ditt scenario.
Anteckning
Den här exempelprincipen baseras på Startpaketet SocialAndLocalAccountsWithMfa .
Scenariobeskrivning
Registrera dig
Azure AD B2C-sidor använder SkrivaDNA:s JavaScript-bibliotek för att registrera användarens skrivmönster. Användarnamnet och lösenordet registreras till exempel vid registreringen för den första registreringen och sedan vid varje inloggning för verifiering.
När användaren skickar sidan beräknar TypingDNA-biblioteket användarens skrivegenskaper. Därefter infogar du informationen i ett dolt textfält som Azure AD B2C har renderats. Det här fältet är dolt med CSS.
Exemplet innehåller HTML-filer med JavaScript- och CSS-ändringar och refereras av
api.selfasserted.tdnasignin
innehållsdefinitionerna ochapi.selfasserted.tdnasignup
. Se värd för sidinnehållet för att vara värd för DINA HTML-filer.Azure AD B2C har nu skrivmönstret i anspråkspåsen när användaren skickar sina autentiseringsuppgifter. Den måste anropa ett API (ditt) för att skicka dessa data till slutpunkten För TYPINGDNA REST API. Det här API:et ingår i exemplet (skriverDNA-API-Interface).
API:et för mellanlagret skickar sedan skrivmönsterdata till TypingDNA REST API. Vid registreringen anropas kontrollanvändarslutpunkten för att bekräfta att användaren inte fanns och sedan anropas slutpunkten för sparandemönster för att spara användarens första skrivmönster.
Anteckning
Alla anrop till rest-API-slutpunkten för TypingDNA skickar ett UserId. Det här måste vara ett hashvärde. Azure AD B2C använder HashObjectIdWithEmail
anspråkstransformeringen för att hasha e-postmeddelandet med ett slumpmässigt salt och en hemlighet.
REST API-anropen modelleras med validationTechnicalProfiles
i LocalAccountSignUpWithLogonEmail-TDNA
:
<ValidationTechnicalProfiles>
<ValidationTechnicalProfile ReferenceId="AAD-UserWriteUsingLogonEmail-TDNA" />
<ValidationTechnicalProfile ReferenceId="REST-TDNA-CheckUser" ContinueOnError="true"/>
<ValidationTechnicalProfile ReferenceId="REST-TDNA-SaveUser"/>
</ValidationTechnicalProfiles>
Logga in
Vid efterföljande inloggningar beräknas användarens skrivmönster på samma sätt som vid registreringen med hjälp av den anpassade HTML-koden. När skrivprofilen finns i Azure AD B2C-anspråkspåse anropar Azure AD B2C ditt API för att anropa REST API-slutpunkten TypingDNA. Kontrollanvändarslutpunkten anropas för att bekräfta att användaren finns. Kontrollera sedan att mönsterslutpunkten anropas för att returnera net_score
. Det här net_score
är en indikation på hur nära skrivmönstret var originalet vid registreringen.
Det här skrivmönstret modelleras med validationTechnicalProfiles
i 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>
Om användaren får ett skrivmönster som har ett högt net_score
kan du spara det med hjälp av slutpunkten För att spara skrivmönster i TypingDNA.
Ditt API måste returnera ett anspråk saveTypingPattern
om du vill att typingDNA-slutpunkten för sparande av skrivmönster ska anropas av Azure AD B2C (via ditt API).
Exemplet på lagringsplatsen innehåller ett API (TypingDNA-API-Interface) som konfigureras med följande egenskaper.
Träningsläge – Om användaren har färre än två sparade mönster frågar du alltid efter MFA.
Om användaren har sparat 2–5 mönster och är
net_score
lägre än 50 frågar du efter MFA.Om användaren har sparat 5+ mönster och är
net_score
lägre än 65 frågar du efter MFA.
Dessa tröskelvärden bör justeras för ditt användningsfall.
När api:et
net_score
har utvärderat ska det returnera ett booleskt anspråk till B2C –promptMFA
.Anspråket
promptMFA
används i ett förhandsvillkor för att villkorligt köra Microsoft Entra multifaktorautentisering.
<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>
Registrera med TypingDNA
- Registrera dig för Att skrivaDNA här
- Logga in på typingDNA-instrumentpanelen och hämta API-nyckeln och API-hemligheten. Detta kommer att behövas i API-gränssnittskonfigurationen senare
Integrera TypingDNA med Azure AD B2C
Värd för TypingDNA-API-Interface hos valfri värdleverantör
Ersätt alla instanser av
apiKey
ochapiSecret
i lösningen TypingDNA-API-Interface med autentiseringsuppgifterna från instrumentpanelen För typningSNAVärdhantera HTML-filerna hos valfri leverantör enligt CORS-kraven här
Ersätt LoadURI-elementen
api.selfasserted.tdnasignup
för innehållsdefinitionerna ochapi.selfasserted.tdnasignin
iTrustFrameworkExtensions.xml
filen till URI:n för dina värdbaserade HTML-filer.Skapa en B2C-principnyckel under Identity Experience Framework på Microsoft Entra-bladet i Azure Portal.
Generate
Använd alternativet och ge den här nyckelntdnaHashedId
namnet .Ersätt TenantId:erna i principfilerna
Ersätt ServiceURLs i alla tekniska profiler för TypingDNA REST API (REST-TDNA-VerifyUser, REST-TDNA-SaveUser, REST-TDNA-CheckUser) med slutpunkten för api: et TypingDNA-API-Interface.
Ladda upp principfiler till din klientorganisation.
Testa användarflödet
Öppna B2C-klientorganisationen och välj ramverk för identitetsupplevelse.
Välj ditt tidigare skapade användarflöde.
Välj Kör användarflöde
a. Program – välj den registrerade appen (exempel är JWT)
b. Svars-URL – välj omdirigerings-URL
c. Välj Kör användarflöde.
Gå igenom registreringsflödet och skapa ett konto
Logga ut
Gå igenom inloggningsflödet
Resulterande JWT-resultat visar TypingDNA-resultaten
Live-version
• MFA har inaktiverats i den här testversionen, men du kan se resultatet om MFA skulle ha frågats av anspråket promptMFA
efter autentiseringen.
• Registrera dig här och logga in här
Nästa steg
Mer information finns i följande artiklar: