共用方式為


使用漏斗圖型方法建置全域身分識別解決方案

在本文中,我們將說明漏斗圖型設計方法的案例。 開始設計之前,建議您先檢閱漏斗圖和區域型設計方法 的功能效能 。 本文將進一步協助判斷哪些設計最適合您的組織。

設計會考慮:

  • 本機帳戶註冊並登入
  • 同盟帳戶註冊並登入
  • 驗證本機帳戶以供使用者從其已註冊區域外部登入,由跨租使用者 API 型驗證所支援
  • 驗證同盟帳戶以供使用者從其已註冊區域外部登入,由跨租使用者 API 型查閱所支援
  • 防止註冊多個不同區域
  • 每個區域中的應用程式都有單一端點可用來連線

本機帳戶登入使用案例

在全域 Azure AD B2C 環境中,通常會有下列使用案例。 本機帳戶使用案例也會涵蓋使用者移動的帳戶。 我們會為每個使用案例提供圖表和工作流程步驟。

本機使用者註冊

此使用案例示範使用者如何從主國家/地區使用 Azure AD B2C 本機帳戶執行註冊。

顯示本機使用者註冊流程的螢幕擷取畫面。

  1. 來自歐洲、中東/非洲的使用者 (EMEA) 嘗試在 myapp.fr註冊。 如果使用者未傳送至其本機應用程式實例,流量管理員會強制執行重新導向。

  2. 使用者到達全域漏斗圖 Azure AD B2C 租使用者。 此租使用者已設定為根據使用 OpenId 同盟定義的準則重新導向至區域 Azure AD B2C 租使用者。 這可以是以 Application clientId 為基礎的查閱。

  3. 使用者嘗試註冊。 註冊程式會檢查全域查閱表格,以判斷使用者是否存在於任何區域 Azure AD B2C 租使用者中。

  4. 全域查閱表格中找不到使用者。 使用者帳戶會寫入 Azure AD B2C,並在全域查閱表格中建立記錄,以追蹤使用者註冊的區域。

  5. 區域租使用者會將權杖簽發回漏斗圖租使用者。

  6. 漏斗圖租使用者會向應用程式發出權杖。

現有的本機使用者嘗試註冊

此使用案例示範使用者如何從自己的國家/地區或不同區域重新註冊相同的電子郵件。

顯示現有帳戶註冊流程的螢幕擷取畫面。

  1. EMEA 中的使用者嘗試在 myapp.fr註冊。 如果使用者未傳送至其本機應用程式實例,流量管理員會強制執行重新導向。

  2. 使用者到達全域漏斗圖 Azure AD B2C 租使用者。 此租使用者已設定為根據使用 OpenId 同盟的某些準則重新導向至區域 Azure AD B2C 租使用者。 這可以是以 Application clientId 為基礎的查閱。

  3. 使用者嘗試註冊。 註冊程式會檢查全域查閱表格,以判斷使用者是否存在於任何區域 Azure AD B2C 租使用者中。

  4. 在全域查閱表格中找到使用者的電子郵件,指出使用者已在解決方案中于某個先前的時間點註冊此電子郵件。

  5. 使用者看到錯誤,指出其帳戶存在。

本機使用者登入

此使用案例示範使用者如何從其主國家/地區使用 Azure AD B2C 本機帳戶執行登入。

顯示本機使用者登入流程的螢幕擷取畫面。

  1. EMEA 中的使用者嘗試登入 myapp.fr。 如果使用者未傳送至其本機應用程式實例,流量管理員會強制執行重新導向。

  2. 使用者到達全域漏斗圖 Azure AD B2C 租使用者。 此租使用者已設定為根據使用 OpenId 同盟的某些準則重新導向至區域 Azure AD B2C 租使用者。 這可以是以應用程式 clientId 為基礎的查閱。

  3. 使用者在區域租使用者中輸入其認證。

  4. 區域租使用者會將權杖簽發回漏斗圖租使用者。

  5. 漏斗圖租使用者會向應用程式發出權杖。

旅遊使用者登入

此使用案例示範使用者如何跨區域移動,並維護其使用者設定檔和認證,並分別儲存在其區域租使用者中,以便註冊。

顯示旅遊使用者登入流程的螢幕擷取畫面。

  1. 北美洲 (NOAM) 使用者在法國假日時嘗試在myapp.fr登入。 如果使用者未傳送至其本機應用程式實例,流量管理員會強制執行重新導向。

  2. 使用者到達全域漏斗圖 Azure AD B2C 租使用者。 此租使用者已設定為根據使用 OpenId 同盟的某些準則重新導向至區域 Azure AD B2C 租使用者。 這可以是以 Application clientId 為基礎的查閱。

  3. 使用者在區域租使用者中輸入其認證。

  4. 區域租使用者會在全域查閱表格中執行查閱,因為 EMEA Azure AD B2C 目錄中找不到使用者的電子郵件。

  5. 使用者的電子郵件位於 NOAM Azure AD B2C 租使用者中註冊。

  6. EMEA Azure AD B2C 租使用者會對 NOAM Azure AD B2C 租使用者執行Microsoft Entra ROPC 流程,以驗證認證。

    注意

    此呼叫也會擷取權杖,讓使用者執行圖形 API呼叫。 EMEA Azure AD B2C 租使用者會對 NOAM Azure AD B2C 租使用者執行圖形 API呼叫,以擷取使用者的設定檔。 此呼叫是由上一個步驟中取得圖形 API存取權杖進行驗證。

  7. 區域租使用者會將權杖簽發回漏斗圖租使用者。

  8. 漏斗圖租使用者會向應用程式發出權杖。

本機使用者忘記密碼

此使用案例示範使用者在主國家/地區內時如何重設其密碼。

顯示本機使用者忘記密碼流程的螢幕擷取畫面。

  1. EMEA 中的使用者嘗試登入 myapp.fr。 如果使用者未傳送至其本機應用程式實例,流量管理員會強制執行重新導向。

  2. 使用者到達全域漏斗圖 Azure AD B2C 租使用者。 此租使用者已設定為根據使用 OpenId 同盟的某些準則重新導向至區域 Azure AD B2C 租使用者。 這可以是以應用程式 clientId 為基礎的查閱。

  3. 使用者抵達 EMEA Azure AD B2C 租使用者,並選取 忘記密碼。 使用者輸入並驗證其電子郵件。

  4. Email查閱會執行,以判斷使用者所在的區域租使用者。

  5. 使用者提供新的密碼。

  6. 新的密碼會寫入 EMEA Azure AD B2C 租使用者。

  7. 區域租使用者會將權杖簽發回漏斗圖租使用者。

  8. 漏斗圖租使用者會向應用程式發出權杖。

旅遊使用者忘記密碼

此使用案例示範當使用者離開註冊其帳戶的區域時,如何重設其密碼。

顯示旅遊使用者忘記密碼流程的螢幕擷取畫面。

  1. 來自 NOAM 的使用者嘗試在 myapp.fr 登入,因為他們在法國假日。 如果使用者未傳送至其本機應用程式實例,流量管理員會強制執行重新導向。

  2. 使用者到達全域漏斗圖 Azure AD B2C 租使用者。 此租使用者已設定為根據使用 OpenId 同盟的某些準則重新導向至區域 Azure AD B2C 租使用者。 這可以是以應用程式 clientId 為基礎的查閱。

  3. 使用者抵達 EMEA Azure AD B2C 租使用者,並選取 忘記密碼。 使用者輸入並驗證其電子郵件。

  4. Email查閱會執行,以判斷使用者所在的區域租使用者。

  5. 電子郵件存在於 NOAM Azure AD B2C 租使用者中。 使用者提供新的密碼。

  6. 新的密碼會透過圖形 API呼叫寫入 NOAM Azure AD B2C 租使用者。

  7. 區域租使用者會將權杖發出回漏斗租使用者。

  8. 漏斗租使用者向應用程式發出權杖。

本機使用者密碼變更

此使用案例示範使用者在登入其帳戶所在的區域之後,如何變更其密碼。

顯示本機使用者密碼變更流程的螢幕擷取畫面。

  1. EMEA 嘗試的使用者會在登入myapp.fr之後選取變更密碼

  2. 使用者到達全域漏斗圖 Azure AD B2C 租使用者。 此租使用者已設定為根據使用 OpenId 同盟的一些準則,重新導向至區域 Azure AD B2C 租使用者。 這可以是以應用程式 clientId 為基礎的查閱。

  3. 使用者抵達 EMEA Azure AD B2C 租使用者,而 Single-Sign On (SSO) Cookie 集可讓使用者立即變更其密碼。

  4. 新的密碼會寫入 EMEA Azure AD B2C 租使用者中的使用者帳戶。

  5. 區域租使用者會將權杖發出回漏斗租使用者。

  6. 漏斗租使用者向應用程式發出權杖。

移動使用者密碼變更

此使用案例示範使用者在登入之後如何變更其密碼,而離開他們註冊其帳戶的區域。

顯示移動使用者密碼變更流程的螢幕擷取畫面。

  1. NOAM 中的使用者嘗試在登入myapp.fr之後變更密碼

  2. 使用者到達全域漏斗圖 Azure AD B2C 租使用者。 此租使用者已設定為根據使用 OpenId 同盟的一些準則,重新導向至區域 Azure AD B2C 租使用者。 這可以是以應用程式 clientId 為基礎的查閱。

  3. 使用者抵達 EMEA Azure AD B2C 租使用者,而 SSO Cookie 集可讓使用者立即變更其密碼。

  4. 檢查全域查閱表格之後,使用者的電子郵件會位於 NOAM 租使用者中。

  5. 新的密碼會由 MS 圖形 API 呼叫,寫入 NOAM Azure AD B2C 租使用者中的使用者帳戶。

  6. 區域租使用者會將權杖發出回漏斗租使用者。

  7. 漏斗租使用者向應用程式發出權杖。

同盟識別提供者驗證

下列使用案例顯示使用同盟身分識別以 Azure AD B2C 用戶端註冊或登入的範例。

本機同盟識別碼註冊

此使用案例示範使用者如何使用同盟識別碼從其本機區域註冊服務。

顯示同盟識別碼註冊流程的螢幕擷取畫面。

  1. 來自 EMEA 的使用者會嘗試在 myapp.fr註冊。 如果使用者未傳送至其本機應用程式實例,流量管理員會強制執行重新導向。

  2. 使用者到達全域漏斗圖 Azure AD B2C 租使用者。 此租使用者已設定為根據使用 OpenId 同盟的一些準則,重新導向至區域 Azure AD B2C 租使用者。 這可以是以應用程式 clientId 為基礎的查閱。

  3. 使用者選取以同盟識別提供者登入, (IdP) 。

  4. 對全域查閱表格執行查閱。

    • 如果帳戶連結位於範圍內:如果同盟 IdP 識別碼或從同盟 IdP 傳回的電子郵件不存在於查閱表格中,請繼續進行。

    • 如果帳戶連結不在範圍內:如果查閱表格中沒有來自同盟 IdP 的同盟 IdP 識別碼,請繼續進行。

  5. 將使用者帳戶寫入 EMEA Azure AD B2C 租使用者。

  6. 區域租使用者會將權杖發出回漏斗租使用者。

  7. 漏斗租使用者向應用程式發出權杖。

本機同盟使用者登入

此使用案例示範使用者從其本機區域如何使用同盟識別碼登入服務。

顯示本機同盟使用者登入流程的螢幕擷取畫面。

  1. 來自 EMEA 的使用者會嘗試在 myapp.fr登入。 如果使用者未傳送至其本機應用程式實例,流量管理員會強制執行重新導向。

  2. 使用者到達全域漏斗圖 Azure AD B2C 租使用者。 此租使用者已設定為根據使用 OpenId 同盟的一些準則,重新導向至區域 Azure AD B2C 租使用者。 這可以是以 Application clientId 為基礎的查閱。

  3. 使用者選取以同盟身分識別提供者登入。

  4. 對全域查閱資料表執行查閱,並確認使用者在 EMEA 中註冊同盟識別碼。

  5. 區域租使用者會將權杖發出回漏斗租使用者。

  6. 漏斗租使用者向應用程式發出權杖。

旅遊同盟使用者登入

此使用案例示範使用者如何使用同盟 IdP 登入其帳戶,同時離開他們註冊的區域。

顯示旅遊同盟使用者登入流程的螢幕擷取畫面。

  1. 來自 NOAM 的使用者嘗試登入 myapp.fr。 如果使用者未傳送至其本機應用程式實例,流量管理員會強制執行重新導向。

  2. 使用者到達全域漏斗圖 Azure AD B2C 租使用者。 此租使用者已設定為根據使用 OpenId 同盟的一些準則,重新導向至區域 Azure AD B2C 租使用者。 這可以是以 Application clientId 為基礎的查閱。

  3. 使用者選取以同盟身分識別提供者登入。

    注意

    在所有 Azure AD B2C 區域租使用者上,從社交 IdP 的應用程式註冊使用相同的應用程式識別碼。 這可確保從社交 IdP 傳回的識別碼一律相同。

  4. 對全域查閱資料表執行查閱,並判斷使用者在 NOAM 中註冊的同盟識別碼。

  5. 使用 MS 圖形 API從 NOAM Azure AD B2C 租使用者讀取帳戶資料。

  6. 區域租使用者會將權杖發出回漏斗租使用者。

  7. 漏斗租使用者向應用程式發出權杖。

具有比對準則的帳戶連結

此使用案例示範使用者如何在符合比對準則時執行帳戶連結。 比對準則通常是使用者電子郵件地址。 從新識別提供者登入的比對準則與 Azure AD B2C 中現有帳戶的值相同時,帳戶連結程式就可以開始。

此螢幕擷取畫面顯示合併同盟帳戶的流程。

  1. 來自 EMEA 的使用者會嘗試在 myapp.fr登入。 如果使用者未傳送至其本機應用程式實例,流量管理員會強制執行重新導向。

  2. 使用者到達全域漏斗圖 Azure AD B2C 租使用者。 此租使用者已設定為根據使用 OpenId 同盟的一些準則,重新導向至區域 Azure AD B2C 租使用者。 這可以是以 Application clientId 為基礎的查閱。

  3. 使用者選取以同盟身分識別提供者/社交 IdP 登入。

  4. 查閱會針對從同盟 IdP 傳回的識別碼,對全域查閱資料表執行。

  5. 其中識別碼不存在,但同盟 IdP 的電子郵件存在於 EMEA Azure AD B2C 中 – 這是連結使用案例的帳戶。

  6. 從目錄讀取使用者,並判斷帳戶上已啟用哪些驗證方法。 顯示畫面,讓使用者在此帳戶上使用現有的驗證方法登入。

  7. 一旦使用者證明他們在 Azure AD B2C 中擁有帳戶,請將新的社交識別碼新增至現有的帳戶,並將社交識別碼新增至全域查閱表格中的帳戶。

  8. 區域租使用者會將權杖發出回漏斗租使用者。

  9. 漏斗租使用者向應用程式發出權杖。

使用比對準則連結的旅遊使用者帳戶

此使用案例示範不符合準則時,非區域使用者如何執行帳戶連結。 比對準則通常是使用者電子郵件地址。 從新識別提供者登入的比對準則與 Azure AD B2C 中現有帳戶的值相同時,帳戶連結程式就可以開始。

此螢幕擷取畫面顯示合併旅遊同盟使用者的流程。

  1. 來自 NOAM 的使用者嘗試登入 myapp.fr。 如果使用者未傳送至其本機應用程式實例,流量管理員會強制執行重新導向。

  2. 使用者到達全域漏斗圖 Azure AD B2C 租使用者。 此租使用者已設定為根據使用 OpenId 同盟的一些準則,重新導向至區域 Azure AD B2C 租使用者。 這可以是以 Application clientId 為基礎的查閱。

  3. 使用者選取以同盟身分識別提供者/社交 IdP 登入。

  4. 查閱會針對從同盟 IdP 傳回的識別碼,對全域查閱資料表執行。

  5. 其中識別碼不存在,且來自同盟 IdP 的電子郵件存在於另一個區域中 - 這是連結使用案例的旅遊使用者帳戶。

  6. 建立id_token_hint連結,判斷提示目前收集的使用者宣告。 使用同盟啟動進入 NOAM Azure AD B2C 租使用者的旅程。 使用者證明他們透過 NOAM Azure AD B2C 租使用者擁有帳戶。

    注意

    這個方法可用來重複使用主租使用者中現有的帳戶連結邏輯,並減少外部 API 呼叫來操作身分識別集合。 您可以 在這裡找到利用id_token_hint的自訂原則範例。

  7. 一旦使用者證明他們在 Azure AD B2C 中擁有帳戶,請對 NOAM Azure AD B2C 租使用者發出圖形 API呼叫,將新的社交識別碼新增至現有的帳戶。 將社交識別碼新增至全域查閱表格中的帳戶。

  8. 區域租使用者會將權杖發出回漏斗租使用者。

  9. 漏斗租使用者向應用程式發出權杖。

下一步