Delen via


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

Schermopname van TypingDNA-architectuurdiagram

Registreren

  1. 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.

  2. 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 en api.selfasserted.tdnasignup. Raadpleeg De pagina-inhoud hosten om uw HTML-bestanden te hosten.

  3. 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).

  4. 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

  1. Registreer u hier voor TypingDNA
  2. 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

  1. Host de TypingDNA-API-Interface bij de gewenste hostingprovider

  2. Vervang alle exemplaren van apiKey en apiSecret in de TypingDNA-API-Interface-oplossing door de referenties van uw TypingDNA-dashboard

  3. Host de HTML-bestanden bij de gewenste provider volgens de CORS-vereisten hier

  4. Vervang de LoadURI-elementen voor de inhoudsdefinities api.selfasserted.tdnasignup en api.selfasserted.tdnasignin in het bestand TrustFrameworkExtensions.xml respectievelijk door de URI van uw gehoste HTML-bestanden.

  5. Maak een B2C-beleidssleutel onder identity experience framework op de blade Microsoft Entra in de Azure Portal. Gebruik de optie Generate en noem deze sleutel tdnaHashedId.

  6. De tenant-id's in de beleidsbestanden vervangen

  7. 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.

  8. Upload beleidsbestanden naar uw tenant.

De gebruikersstroom testen

  1. Open de B2C-tenant en kies het framework voor identiteitservaringen.

  2. Selecteer uw eerder gemaakte Gebruikersstroom.

  3. Selecteer Gebruikersstroom uitvoeren

    a. Toepassing: selecteer de geregistreerde app (voorbeeld is JWT)

    b. Antwoord-URL: selecteer de omleidings-URL

    c. Selecteer Gebruikersstroom uitvoeren.

  4. Doorloop de registratiestroom en maak een account

  5. Afmelden

  6. Doorloop de aanmeldingsstroom

  7. 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: