azure ad b2c session doesnt expire

时间:2018-05-03 11:32:41

标签: azure azure-ad-b2c

我有一个ASP.net MVC webapp,它使用Azure AD B2C来验证用户。 ASP.net mvc app中的cookie设置为在滚动超时20分钟后过期。 AD B2C中的设置如下:

  • 访问权限和ID令牌有效期= 20分钟
  • 刷新令牌有效期= 14天
  • 刷新令牌滑动窗口生命周期=有界,90天
  • 声明代表政策ID = tfp
  • 网络应用会话有效期= 20分钟
  • WebApp会话超时=滚动
  • 单点登录配置=应用程序
  • 登出请求中的请求ID令牌=否

以下是序列:

  • 打开应用网址
  • 登录AD b2c,重定向回应用主页
  • 关闭浏览器上的标签
  • 30分钟后在新的浏览器标签页中打开主页网址
  • 由于ASP.net MVC cookie会话超时,app重定向到AD B2C
  • Azure AD B2C不是要求凭据,而是静默登录用户
  • 用户被重定向回主页

为什么Azure AD B2C cookie未到期且用户未被要求再次进行身份验证?我认为使用AD B2C中的上述设置应该会导致用户重新登录,这是我想要的行为。

注意,"让我登录"选项已禁用,用户无法设置。

另外,我没有使用offline_access范围,因此我的应用程序没有提供刷新令牌。因此,不是导致问题的刷新令牌。

2 个答案:

答案 0 :(得分:1)

您可能遇到了与我相同的问题。请参阅Azure AD B2C logout after session timeout

上的答案

答案 1 :(得分:0)

根据我的理解,在上面描述的场景中,刷新令牌仍然有效,并且将用于获取新的ID令牌而无需用户交互。

刷新令牌是安全令牌,您的应用可以使用该令牌获取新的ID令牌并访问OAuth 2.0流中的令牌。它们代表用户为您的应用提供对资源的长期访问,而无需与这些用户进行交互。

参考文件 - Azure AD B2C: Token reference