Zelfstudie voor het configureren van TypingDNA met Azure Active Directory B2C
In dit scenario leert u hoe u een voorbeeld van een onlinebetalings-app integreert in Azure Active Directory B2C met de TypingDNA-app. Met behulp van de TypingDNA-app kunnen Azure AD B2C-klanten voldoen aan de PSD2-transactievereisten (Payment Services Directive 2) door middel van dynamische toetsaanslagen en sterke klantverificatie. Meer informatie over TypingDNA vindt u hier.
Azure AD B2C maakt gebruik van de technologieën van TypingDNA om de typkenmerken van gebruikers vast te leggen en ze te laten opnemen en analyseren voor bekendheid bij elke verificatie. Hiermee voegt u een beveiligingslaag toe met betrekking tot de risico's van een verificatie en evalueert u de risiconiveaus. Azure AD B2C kan andere mechanismen aanroepen om meer vertrouwen te bieden dat de gebruiker is wie hij of zij beweert te zijn door Microsoft Entra meervoudige verificatie aan te roepen, e-mailverificatie af te dwingen of andere aangepaste logica voor uw scenario.
Notitie
Dit voorbeeldbeleid is gebaseerd op het starterspakket SocialAndLocalAccountsWithMfa.
Scenariobeschrijving
Registreren
Azure AD B2C-pagina's gebruiken de JavaScript-bibliotheek van TypingDNA om het typpatroon van de gebruiker vast te leggen. De gebruikersnaam en het wachtwoord worden bijvoorbeeld vastgelegd bij de registratie voor de eerste inschrijving en vervolgens bij elke aanmelding voor verificatie.
Wanneer de gebruiker de pagina verzendt, berekent de TypingDNA-bibliotheek het typkenmerk van de gebruiker. Voeg daarna de informatie in een verborgen tekstveld in dat door Azure AD B2C is weergegeven. Dit veld is verborgen met CSS.
Het voorbeeld bevat HTML-bestanden met de JavaScript- en CSS-wijzigingen, waarnaar wordt verwezen door de inhoudsdefinities
api.selfasserted.tdnasignin
enapi.selfasserted.tdnasignup
. Raadpleeg De pagina-inhoud hosten om uw HTML-bestanden te hosten.Azure AD B2C beschikt nu over het typpatroon in de claimverzameling wanneer de gebruiker zijn referenties indient. Er moet een API (die van u) worden aangeroepen om deze gegevens door te geven aan het REST API-eindpunt van TypingDNA. Deze API is opgenomen in het voorbeeld (typingDNA-API-Interface).
De tussenliggende API geeft vervolgens de typpatroongegevens door aan de REST API van TypingDNA. Bij de registratie wordt het eindpunt van de controlegebruiker aangeroepen om te bevestigen dat de gebruiker niet bestond en wordt vervolgens het eindpunt met het patroon voor het opslaan aangeroepen om het eerste typpatroon van de gebruiker op te slaan.
Notitie
Alle aanroepen naar het REST API-eindpunt van TypingDNA verzenden een UserId. Dit moet een hashwaarde zijn. Azure AD B2C gebruikt de transformatie van HashObjectIdWithEmail
-claims om een hash uit te voeren op de e-mail met een willekeurige salt en geheim.
De REST API-aanroepen worden gemodelleerd met validationTechnicalProfiles
in LocalAccountSignUpWithLogonEmail-TDNA
:
<ValidationTechnicalProfiles>
<ValidationTechnicalProfile ReferenceId="AAD-UserWriteUsingLogonEmail-TDNA" />
<ValidationTechnicalProfile ReferenceId="REST-TDNA-CheckUser" ContinueOnError="true"/>
<ValidationTechnicalProfile ReferenceId="REST-TDNA-SaveUser"/>
</ValidationTechnicalProfiles>
Aanmelden
Bij volgende aanmeldingen wordt het typpatroon van de gebruiker op dezelfde manier berekend als bij het registreren met behulp van de aangepaste HTML. Zodra het typprofiel zich in de Azure AD B2C-claimverzameling bevindt, roept Azure AD B2C uw API aan om het REST API-eindpunt van TypingDNA aan te roepen. Het eindpunt van de controlegebruiker wordt aangeroepen om te bevestigen dat de gebruiker bestaat. Vervolgens wordt het eindpunt met het controlepatroon aangeroepen om de net_score
te retourneren. Deze net_score
is een indicatie van hoe dicht het typpatroon bij het origineel tijdens de registratie lag.
Dit typpatroon wordt gemodelleerd met validationTechnicalProfiles
in 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>
Als de gebruiker een typpatroon met een hoge net_score
krijgt, kunt u dit opslaan met behulp van het typpatroon opslaan-eindpunt van TypingDNA.
Uw API moet de claim saveTypingPattern
retourneren als u wilt dat typpatroon opslaan-eindpunt van TypingDNA wordt aangeroepen door Azure AD B2C (via uw API).
Het voorbeeld in de opslagplaats bevat een API (TypingDNA-API-Interface) die is geconfigureerd met de volgende eigenschappen.
Trainingsmodus: als de gebruiker minder dan twee patronen heeft opgeslagen, vraagt u altijd om MFA.
Als de gebruiker 2 tot 5 patronen heeft opgeslagen en de
net_score
lager is dan 50, vraagt u om MFA.Als de gebruiker meer dan 5 patronen heeft opgeslagen en de
net_score
lager is dan 65, vraagt u om MFA.
Deze drempelwaarden moeten worden aangepast aan uw toepassing.
Nadat uw API de
net_score
heeft geëvalueerd, moet deze een Booleaanse claim retourneren naar B2C -promptMFA
.De
promptMFA
claim wordt gebruikt binnen een voorwaarde om voorwaardelijk Microsoft Entra meervoudige verificatie uit te voeren.
<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>
Onboarden met TypingDNA
- Registreer u hier voor TypingDNA
- Meld u aan bij het TypingDNA-dashboard en haal de API-sleutel en het API-geheim op. U hebt dit later nodig bij de installatie van de API-interface
TypingDNA integreren met Azure AD B2C
Host de TypingDNA-API-Interface bij de gewenste hostingprovider
Vervang alle exemplaren van
apiKey
enapiSecret
in de TypingDNA-API-Interface-oplossing door de referenties van uw TypingDNA-dashboardHost de HTML-bestanden bij de gewenste provider volgens de CORS-vereisten hier
Vervang de LoadURI-elementen voor de inhoudsdefinities
api.selfasserted.tdnasignup
enapi.selfasserted.tdnasignin
in het bestandTrustFrameworkExtensions.xml
respectievelijk door de URI van uw gehoste HTML-bestanden.Maak een B2C-beleidssleutel onder identity experience framework op de blade Microsoft Entra in de Azure Portal. Gebruik de optie
Generate
en noem deze sleuteltdnaHashedId
.De tenant-id's in de beleidsbestanden vervangen
Vervang de ServiceURLs in alle technische profielen voor de TypingDNA REST API (REST-TDNA-VerifyUser, REST-TDNA-SaveUser, REST-TDNA-CheckUser) door het eindpunt voor uw TypingDNA-API-Interface-API.
Upload beleidsbestanden naar uw tenant.
De gebruikersstroom testen
Open de B2C-tenant en kies het framework voor identiteitservaringen.
Selecteer uw eerder gemaakte Gebruikersstroom.
Selecteer Gebruikersstroom uitvoeren
a. Toepassing: selecteer de geregistreerde app (voorbeeld is JWT)
b. Antwoord-URL: selecteer de omleidings-URL
c. Selecteer Gebruikersstroom uitvoeren.
Doorloop de registratiestroom en maak een account
Afmelden
Doorloop de aanmeldingsstroom
Het JWT-resultaat toont de resultaten van TypingDNA
Liveversie
• MFA is uitgeschakeld in deze testversie, maar u kunt zien of MFA na verificatie wordt gevraagd door de claim promptMFA
.
• Registreer u hier en meld u hier aan
Volgende stappen
Raadpleeg de volgende artikelen voor meer informatie: