Asp.net会话超时与ID令牌到期

时间:2017-10-16 22:49:48

标签: azure-ad-b2c

如果ASP.NET会话超时为20分钟(滑动),ID令牌生存期和Web应用会话生存期的影响是什么?

ID令牌生命周期似乎是绝对的(默认为60分钟)。它到期时会发生什么,是在下一个请求时触发的新身份验证,还是仅在ID令牌和ASP.NET会话都过期时才会发生?

Web应用程序会话生存期可以是绝对的也可以是滚动的(默认为1440分钟)。是关于B2C还是ASP.NET应用程序? ID令牌生存期与Web应用程序会话生存期之间的关系是什么?我的理解是当ID令牌过期时,如果Web应用程序会话未过期,用户不必再次输入他的凭据,我是对的吗?

1 个答案:

答案 0 :(得分:0)

首先,我将解释您在下面提到的几个概念之间的一些关键情景差异。

ID令牌:正如您所提到的,ID令牌的生命周期是“绝对的” - 您可以在管理门户中配置新创建的ID令牌的生命周期,一旦创建了ID令牌,无法延长现有令牌的生命周期。如果您将ID令牌发送到服务上的某个端点,并且服务确定令牌已过期,则客户端必须从B2C获取新的ID令牌。

B2C Web应用会话生存期:根据您为策略配置的方式,B2C的Web应用会话生存期确定是否可以处理发送到/ authorize端点的新授权,而无需用户与UI交互。但请注意,仍会出现重定向。通常,这里的结果是客户的Web应用程序重定向到B2C的/授权端点,然后使用新创建的ID令牌立即重定向回客户的Web应用程序(这将具有新的/完整的ID令牌生命周期)。在视觉上,这可能看起来像一个“屏幕闪烁”,因为浏览器很快被引导离开,然后又回来了。发生这种情况时,如果已选择“滚动”类型用于Web应用程序会话生存期,则此非交互式Web应用程序会话可用于新的(默认情况下为1440分钟)窗口,而如果选择“绝对”,则时间限制仍将基于上次执行完全交互式网络会话的时间。

正如我所提到的,我不是非常熟悉ASP.NET会话如何在这里工作,但管理门户所指的“滚动”Web应用程序是针对B2C而非ASP.NET(我们没有特殊的交互)用ASP.NET)。我的猜测是ASP.NET层是我在此处描述的附加层。据推测,ASP.NET会话控制着服务请求和验证ID令牌的频率,但您可能希望专门跟进ASP.NET团队。

下面未提到的关于无声真相的另一个场景是“刷新令牌”。刷新令牌兑换真的是无声的(即没有屏幕闪烁),并且可能是基于您的设置的首选解决方案。如果您使用的是单页应用程序(也称为“SPA”),还可以使用其他选项。

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