2017-10-16 93 views
0

如果ASP.NET會話超時爲20分鐘(滑動),那麼ID令牌生存期和Web應用會話生存期的影響是什麼?Asp.net會話超時與id令牌過期

ID令牌生存期似乎是絕對的(默認60分鐘)。當它到期時會發生什麼,是在下一次請求時觸發的新身份驗證,還是僅在身份標識和ASP.NET會話都過期時纔會發生?

Web應用會話生存期可以是絕對滾動或滾動(默認爲1440分鐘)。它是關於B2C還是ASP.NET應用程序? ID令牌生存期和Web應用會話生存期之間的關係是什麼?我的理解是ID標記過期時,如果Web應用程序會話沒有過期,用戶不必再次輸入他的證書,我是正確的?

回答

0

我將首先解釋您在下面提到的幾個概念之間的一些關鍵場景差異。

ID令牌:正如你所提到的,ID令牌的使用壽命是「絕對」 - 而你可以在管理門戶配置新創建的ID令牌的使用壽命,一旦創建一個ID令牌,也沒辦法延長現有令牌的生命週期。如果您將ID令牌發送到服務上的某個端點,並且該服務確定令牌已過期,則客戶端必須從B2C獲取新的ID令牌。

B2C的Web應用程序會話有效期:在此基礎上如何配置你的政策,B2C的Web應用程序會話有效期確定是否發送到/授權端點的新的授權,而不需要用戶與UI交互處理。但請注意,重定向仍然存在。通常,這裏的結果是客戶的網絡應用程序重定向到B2C的/授權端點,然後立即重新導向到客戶的網絡應用程序,並帶有新鑄造的ID令牌(這將具有新的/完整的ID令牌生存期) 。從視覺上來說,這可能看起來像是一個「屏幕閃爍」,因爲瀏覽器很快就被引導走了,然後又回來了。發生這種情況時,如果在Web應用會話生存期中選擇了「滾動」類型,則此非交互式Web應用會話可用於新窗口(默認爲1440分鐘),而如果選擇「絕對」,則時間限制仍將基於上一次完全交互式Web會話的執行時間。

正如我所提到的,我並不十分熟悉ASP.NET會話是如何工作的,但管理員門戶所指的「滾動」web應用程序是用於B2C而不是ASP.NET(我們沒有特別的與ASP.NET交互)。我的猜測是,ASP.NET層是我在這裏描述的頂層的一個附加層。據推測,ASP.NET會話正在控制服務請求和驗證ID令牌的頻率,但您可能需要專門跟進ASP.NET團隊。

下面沒有提到的有關靜默reauth的另一種情況是「刷新令牌」。刷新令牌兌換是真正的無聲(即沒有屏幕閃爍),並且可能是基於您的設置的首選解決方案。如果您使用的是單頁應用程序(又名「SPA」),還有其他選項可用。

您可以在這裏找到更多的信息:https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-apps