使用以區域為基礎的方法來建置全域身分識別解決方案
在本文中,我們會說明以區域為基礎的設計方法案例。 開始設計之前,建議您先檢閱漏斗圖和區域型設計方法 的功能和 效能 。
設計會考慮:
- 本機帳戶註冊並登入
- 同盟帳戶註冊並登入
- 驗證本機帳戶以供使用者從其已註冊區域外部登入,由跨租使用者 API 型驗證所支援。
- 驗證同盟帳戶以供使用者從其已註冊區域外部登入,由跨租使用者 API 型查閱所支援
- 防止註冊多個不同區域
- 每個區域中的應用程式都有一組要連線的端點
本機帳戶驗證
在全域 Azure AD B2C 環境中,通常會有下列使用案例。 本機帳戶使用案例也會涵蓋使用者移動的帳戶。 每個都提供每個使用案例的圖表和工作流程步驟。
本機使用者註冊
此使用案例示範使用者如何從主國家/地區使用 Azure AD B2C 本機帳戶執行註冊。
來自歐洲、中東/非洲的使用者 (EMEA) 嘗試在 myapp.fr註冊。 如果使用者未傳送至其本機主機名稱,流量管理員會強制執行重新導向。
使用者登陸 EMEA 租使用者。
使用者嘗試註冊。 註冊程式會檢查全域查閱表格,以判斷使用者是否存在於任何區域 Azure AD B2C 租使用者中。
全域查閱表格中找不到使用者。 使用者帳戶會寫入 Azure AD B2C,並在全域查閱表格中建立記錄,以追蹤使用者註冊的區域。
區域租使用者會將權杖發行回應用程式。
現有的本機使用者嘗試註冊
此使用案例示範使用者如何從自己的國家/地區或不同區域重新註冊相同的電子郵件。
來自 EMEA 的使用者嘗試在 myapp.fr註冊。 如果使用者未傳送至其本機主機名稱,流量管理員會強制執行重新導向。
使用者登陸 EMEA 租使用者。
使用者嘗試註冊。 註冊程式會檢查全域查閱表格,以判斷使用者是否存在於任何區域 Azure AD B2C 租使用者中。
在全域查閱表格中找到使用者的電子郵件,指出使用者已在解決方案中于某個先前的時間點註冊此電子郵件。
使用者看到錯誤,指出其帳戶存在。
本機使用者登入
此使用案例示範使用者如何從其主國家/地區使用 Azure AD B2C 本機帳戶執行登入。
來自 EMEA 的使用者嘗試在 myapp.fr登入。 如果使用者未傳送至其本機主機名稱,流量管理員會強制執行重新導向。
使用者登陸 EMEA 租使用者。
使用者在區域租使用者輸入其認證。
區域租使用者會將權杖發行回應用程式。
使用者已登入應用程式。
旅遊使用者登入
此使用案例示範使用者如何跨區域移動,並維護其使用者設定檔和認證,並分別儲存在其區域租使用者中,以便註冊。
來自北美洲 (NOAM 的使用者) 嘗試在myapp.fr登入,因為他們在法國假日。 如果使用者未傳送至其本機主機名稱,流量管理員會強制執行重新導向。
使用者登陸 EMEA 租使用者。
使用者在區域租使用者輸入其認證。
區域租使用者會在全域查閱表格中執行查閱,因為 EMEA Azure AD B2C 目錄中找不到使用者的電子郵件。
使用者的電子郵件位於 NOAM Azure AD B2C 租使用者中註冊。
EMEA Azure AD B2C 租使用者會對 NOAM Azure AD B2C 租使用者執行Microsoft Entra ROPC 流程,以驗證認證。
注意
此呼叫也會擷取權杖,讓使用者執行圖形 API呼叫。 EMEA Azure AD B2C 租使用者會對 NOAM Azure AD B2C 租使用者執行圖形 API呼叫,以擷取使用者的設定檔。 此呼叫是由上一個步驟中取得圖形 API存取權杖進行驗證。
區域租使用者會發出權杖返回應用程式。
本機使用者忘記密碼
此使用案例示範使用者在主國家/地區內時如何重設其密碼。
來自 EMEA 的使用者嘗試在 myapp.fr登入。 如果使用者未傳送至其本機主機名稱,流量管理員會強制執行重新導向。
使用者抵達 EMEA Azure AD B2C 租使用者,並選取 忘記密碼。 使用者輸入並驗證其電子郵件。
Email查閱會執行,以判斷使用者所在的區域租使用者。
使用者提供新的密碼。
新的密碼會寫入 EMEA Azure AD B2C 租使用者。
區域租使用者會將權杖發行回應用程式。
旅遊使用者忘記密碼
此使用案例示範當使用者離開註冊其帳戶的區域時,如何重設其密碼。
NOAM 的使用者嘗試在 myapp.fr登入,因為他們在法國假日。 如果使用者未傳送至其本機主機名稱,流量管理員會強制執行重新導向。
使用者抵達 EMEA Azure AD B2C 租使用者,並選取 忘記密碼。 使用者輸入並驗證其電子郵件。
Email查閱會執行,以判斷使用者所在的區域租使用者。
電子郵件存在於 NOAM Azure AD B2C 租使用者中。 使用者提供新的密碼。
新的密碼會透過圖形 API呼叫寫入 NOAM Azure AD B2C 租使用者。
區域租使用者會將權杖發行回應用程式。
本機使用者密碼變更
此使用案例示範使用者在登入其帳戶所在的區域之後,如何變更其密碼。
EMEA 嘗試的使用者會在登入myapp.fr之後選取變更密碼。
使用者抵達 EMEA Azure AD B2C 租使用者,而 Single-Sign On (SSO) Cookie 集合可讓使用者立即變更其密碼。
新密碼會寫入 EMEA Azure AD B2C 租使用者中的使用者帳戶。
區域租使用者會將權杖發行回應用程式。
移動使用者密碼變更
此使用案例示範使用者在登入後如何變更其密碼,而離開他們註冊其帳戶的區域。
登入myapp.fr之後,NOAM 嘗試的使用者會選取變更密碼。
使用者抵達 EMEA Azure AD B2C 租使用者,SSO Cookie 集可讓使用者立即變更其密碼。
檢查全域查閱表格之後,使用者電子郵件會位於 NOAM 租使用者中。
新的密碼會由 MS 圖形 API 呼叫寫入 NOAM Azure AD B2C 租使用者中的使用者帳戶。
區域租使用者會將權杖發行回應用程式。
同盟識別提供者驗證
下列使用案例顯示使用同盟身分識別以 Azure AD B2C 用戶端註冊或登入的範例。
本機同盟識別碼註冊
此使用案例示範其本機區域的使用者如何使用同盟識別碼來註冊服務。
來自 EMEA 的使用者會嘗試在 myapp.fr註冊。 如果使用者未傳送至其本機主機名稱,流量管理員將會強制執行重新導向。
使用者登陸 EMEA 租使用者。
使用者選取以同盟身分識別提供者登入。
對全域查閱表格執行查閱。
如果帳戶連結位於範圍內:如果同盟 IdP 識別碼或從同盟 IdP 傳回的電子郵件不存在於查閱表格中,請繼續進行。
如果帳戶連結不在範圍內:如果查閱表格中沒有來自同盟 IdP 的同盟 IdP 識別碼,請繼續進行。
將使用者帳戶寫入 EMEA Azure AD B2C 租使用者。
區域租使用者會將權杖發出回應用程式。
本機同盟使用者登入
此使用案例示範使用者從其本機區域如何使用同盟識別碼登入服務。
來自 EMEA 的使用者嘗試登入 myapp.fr。 如果使用者未傳送至其本機主機名稱,流量管理員將會強制執行重新導向。
使用者登陸 EMEA 租使用者。
使用者選取以同盟身分識別提供者登入。
對全域查閱資料表執行查閱,並確認使用者在 EMEA 中註冊同盟識別碼。
區域租使用者會將權杖發出回應用程式。
旅遊同盟使用者登入
此案例示範使用者如何離開他們註冊的區域,使用同盟 IdP 對服務執行登入。
來自 NOAM 的使用者嘗試在 myapp.fr登入。 如果使用者未傳送至其本機主機名稱,流量管理員將會強制執行重新導向。
使用者登陸 EMEA 租使用者。
使用者選取以同盟身分識別提供者登入。
注意
在所有 Azure AD B2C 區域租使用者上,從社交 IdP 的應用程式註冊使用相同的應用程式識別碼。 這可確保從社交 IdP 傳回的識別碼一律相同。
對全域查閱資料表執行查閱,並判斷使用者在 NOAM 中註冊的同盟識別碼。
使用 MS 圖形 API從 NOAM Azure AD B2C 租使用者讀取帳戶資料。
區域租使用者會將權杖發出回應用程式。
具有比對準則的帳戶連結
此案例示範當使用者符合比對準則時,如何執行帳戶連結 (通常是電子郵件地址) 。
來自 EMEA 的使用者嘗試登入 myapp.fr。 如果使用者未傳送至其本機主機名稱,流量管理員將會強制執行重新導向。
使用者登陸 EMEA 租使用者。
使用者選取以同盟身分識別提供者/社交 IdP 登入。
查閱會針對從同盟 IdP 傳回的識別碼,對全域查閱資料表執行。
其中識別碼不存在,但來自同盟 IdP 的電子郵件存在於 EMEA Azure AD B2C 中,這是帳戶連結案例。
從目錄讀取使用者,並判斷帳戶上已啟用哪些驗證方法。 顯示畫面,讓使用者在此帳戶上使用現有的驗證方法登入。
一旦使用者證明他們在 Azure AD B2C 中擁有帳戶,請將新的社交識別碼新增至現有的帳戶,並將社交識別碼新增至全域查閱表格中的帳戶。
區域租使用者會將權杖發出回應用程式。
使用比對準則連結的旅遊使用者帳戶
此案例示範當使用者離開區域時,如何執行帳戶連結。
來自 NOAM 的使用者嘗試在 myapp.fr登入。 如果使用者未傳送至其本機主機名稱,流量管理員將會強制執行重新導向。
使用者登陸 EMEA 租使用者。
使用者選取以同盟身分識別提供者/社交 IdP 登入。
查閱會針對從同盟 IdP 傳回的識別碼,對全域查閱資料表執行。
其中識別碼不存在,且來自同盟 IdP 的電子郵件存在於另一個區域中,則它是旅遊使用者帳戶連結案例。
建立id_token_hint連結,判斷提示目前收集的使用者宣告。 使用同盟啟動進入 NOAM Azure AD B2C 租使用者的旅程。 使用者將會證明他們透過 NOAM Azure AD B2C 租使用者擁有帳戶。
注意
這個方法可用來重複使用主租使用者中現有的帳戶連結邏輯,並減少外部 API 呼叫來操作身分識別集合。 您可以 在這裡找到利用id_token_hint的自訂原則範例。
一旦使用者證明他們在 Azure AD B2C 中擁有帳戶,請對 NOAM Azure AD B2C 租使用者發出圖形 API呼叫,將新的社交識別碼新增至現有的帳戶。 將社交識別碼新增至全域查閱表格中的帳戶。
區域租使用者會將權杖發出回應用程式。