共用方式為


使用 Azure Active Directory B2C 設定 TypingDNA 的教學課程

在本逐步解說中,瞭解如何在 Azure Active Directory B2C 中整合範例在線付款應用程式與 TypingDNA APP。 藉由使用 TypingDNA 應用程式,Azure AD B2C 客戶可以透過擊鍵動態和強式客戶驗證,符合 付款服務指示詞 2 (PSD2) 交易需求。 在這裡尋找有關 TypingDNA 的詳細資訊。

Azure AD B2C 會使用 TypingDNA 的技術來擷取使用者輸入特性,並讓用戶記錄和分析每個驗證的熟悉度。 這會新增與驗證風險相關的保護層,並評估風險層級。 Azure AD B2C 可以叫用其他機制,以進一步信賴用戶聲稱自己是誰,方法是叫用 Microsoft Entra 多重要素驗證、強制電子郵件驗證,或任何其他您案例的自定義邏輯。

注意

此原則範例是以 SocialAndLocalAccountsWithMfa 入門套件為基礎。

案例描述

TypingDNA 架構圖表的螢幕快照

註冊

  1. Azure AD B2C 頁面會使用 TypingDNA 的 JavaScript 連結庫來記錄使用者的輸入模式。 例如,在註冊初始註冊時會記錄使用者名稱和密碼,然後在每次登入時進行驗證。

  2. 當使用者提交頁面時,TypingDNA 連結庫會計算使用者的輸入特性。 之後,請將資訊插入 Azure AD B2C 轉譯的隱藏文字欄位中。 此欄位是使用 CSS 隱藏的。

    範例包含具有 JavaScript 和 CSS 修改的 HTML 檔案,並由和 api.selfasserted.tdnasignup 內容定義參考api.selfasserted.tdnasignin。 請參閱 裝載頁面內容 來裝載您的 HTML 檔案。

  3. 當使用者提交其認證時,Azure AD B2C 現在在宣告包內具有輸入模式。 它必須呼叫 API(您的),才能將此數據傳遞至 TypingDNA REST API 端點。 此 API 包含在範例中(輸入DNA-API-Interface)。

  4. 仲介層 API 接著會將輸入模式數據傳遞至 TypingDNA REST API。 在註冊時 ,會呼叫檢查用戶端端點 以確認使用者不存在,然後 呼叫儲存模式 端點來儲存使用者的第一個輸入模式。

注意

所有對 TypingDNA REST API 端點的呼叫都會傳送 UserId。 這必須是哈希值。 Azure AD B2C 會 HashObjectIdWithEmail 使用宣告轉換,以隨機鹽和秘密哈希電子郵件。

REST API 呼叫會在 內LocalAccountSignUpWithLogonEmail-TDNA使用 validationTechnicalProfiles 模型化:


<ValidationTechnicalProfiles>

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

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

</ValidationTechnicalProfiles>

登入

在後續登入時,用戶的輸入模式會以與使用 自定義 HTML 註冊時相同的方式計算。 輸入配置檔位於 Azure AD B2C 宣告包內之後,Azure AD B2C 會呼叫您的 API 來呼叫 TypingDNA REST API 端點。 呼叫 檢查用戶端 端點以確認使用者是否存在。 接下來, 確認呼叫模式 端點以傳回 net_score。 這 net_score 表示在註冊時,輸入模式與原始模式有多接近。

此輸入模式是以 在 內SelfAsserted-LocalAccountSignin-Email-TDNA建立模型validationTechnicalProfiles化:


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

如果使用者取得具有高 net_score的輸入模式,您可以使用 TypingDNA 儲存類型模式 端點來儲存此類型。

如果您想要 Azure AD B2C (透過 API)呼叫輸入模式端點,您的 API 必須傳回宣告 saveTypingPattern

存放庫中的範例包含使用下列屬性設定的 API(TypingDNA-API-Interface)。

  • 定型模式 - 如果使用者儲存的模式少於兩個,請一律提示 MFA。

  • 如果使用者已儲存 2-5 模式,且 net_score 低於 50,則提示輸入 MFA。

  • 如果使用者已儲存 5 個以上的模式,且 net_score 低於 65,則提示輸入 MFA。

您的使用案例應該調整這些閾值。

  • 在 API 評估 net_score之後,它應該會傳回布爾宣告給 B2C - promptMFA

  • 宣告 promptMFA 會在條件前條件內用來有條件地執行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>

使用 TypingDNA 上線

  1. 在這裡註冊輸入DNA
  2. 登入 TypingDNA 儀錶板,並取得 API 金鑰API 秘密。 稍後在 API 介面設定中需要此專案

整合 TypingDNA 與 Azure AD B2C

  1. 您選擇的裝載提供者上裝載 TypingDNA-API-Interface

  2. 以來自您的 TypingDNA 儀錶板的apiKey認證取代 TypingDNA-API-Interface 解決方案中 apiSecret 的所有實例

  3. 遵循這裡的 CORS 需求 ,在您選擇的提供者裝載 HTML 檔案

  4. 將檔案中 TrustFrameworkExtensions.xmlapi.selfasserted.tdnasignin 內容定義的 LoadURI 元素api.selfasserted.tdnasignup分別取代為您託管 HTML 檔案的 URI。

  5. 在 Azure 入口網站 的 [Microsoft Entra] 刀鋒視窗中,於身分識別體驗架構下建立 B2C 原則密鑰。 Generate使用 選項,並將這個機碼tdnaHashedId命名為 。

  6. 取代原則檔案中的TenantId

  7. 將所有 TypingDNA REST API 技術配置檔中的 ServiceURLs(REST-TDNA-VerifyUser、REST-TDNA-SaveUser、REST-TDNA-CheckUser)取代為您的 TypingDNA-API-Interface API 端點

  8. 將原則檔案上傳至您的租使用者。

測試使用者流程

  1. 開啟 B2C 租使用者,然後選擇身分識別體驗架構。

  2. 選取您先前建立 的使用者流程

  3. 選取 [ 執行 使用者流程]

    a. 應用程式 - 選取已註冊的應用程式(範例為 JWT)

    b. 回復 URL - 選取重新導向 URL

    c. 選取執行使用者流程

  4. 完成註冊流程並建立帳戶

  5. 登出

  6. 流覽登入流程

  7. 產生的 JWT 結果會顯示 TypingDNA 結果

Live 版本

• 此測試版本中已停用 MFA,但您可以在驗證之後看到宣告 promptMFA 是否提示 MFA 的結果。

• 在這裡註冊並在這裡登入

下一步

如需其他資訊,請檢閱下列文章: