簡體   English   中英

多個應用程序的 B2C SSO 行為

[英]Behavior of B2C SSO for multiple applications

我們需要為同一 Azure B2C 租戶中的多個應用程序支持 SSO。 Azure B2C 支持這一點,我已經相應地配置了我的信賴方自定義策略。

我的自定義策略有一個旅程步驟,其中根據 API 驗證用戶的其他信息。 當此驗證失敗時,將引發錯誤並且不會為該用戶旅程頒發 JWT 令牌。 此用戶旅程有效,但存在 SSO 問題:

用戶成功登錄應用程序A后,嘗試登錄應用程序B。用戶信息驗證成功后,用戶登錄應用程序B。

但是,當應用程序 B 的自定義策略中的驗證步驟失敗時,錯誤會傳遞給應用程序,而不會發出 JWT 令牌。

在后一種情況下發生的情況是 sso (x-ms-cpim-sso) cookie 也被刪除,並且用戶實際上從所有應用程序中注銷,也從應用程序 A 和 SSO 不再工作。 用戶必須再次登錄應用程序 A。

我嘗試將底層技術配置文件從使用 Web.TPEngine.SSO.NoopSSOSessionProvider 更改為 Web.TPEngine.SSO.DefaultSSOSessionProvider,但隨后用戶在沒有任何驗證錯誤的情況下登錄到應用程序 B,而他不應該登錄。

有什么辦法可以控制這種行為,使用戶在成功登錄應用程序 A 后保持使用 B2C 登錄,但當其中一個策略無法正常執行時,不會為應用程序 B 頒發令牌?

我只是有相同的要求,並通過將 SSO Azure AD B2C 會話行為更改為Application來解決它:

<UserJourneyBehaviors>
   <SingleSignOn Scope="Application" />
</UserJourneyBehaviors>

此設置允許您專門為某個應用程序維護用戶會話,而與其他應用程序無關。 例如,如果您希望用戶登錄 Contoso Pharmacy,無論用戶是否已登錄 Contoso Groceries,都可以使用此設置。

進一步閱讀: 配置 Azure AD B2C 會話行為

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM