首页 文章

azure ad b2c session不会过期

提问于
浏览
1

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

  • Access and ID token lifetime = 20 minutes

  • 刷新令牌生存期= 14天

  • 刷新令牌滑动窗口生命周期=有界,90天

  • 声明代表政策ID = tfp

  • Web app session lifetime = 20 minutes

  • WebApp session timeout = rolling

  • 单点登录配置=应用程序
    登出请求中的

  • 请求ID令牌=否

这是序列:

  • 打开应用程序网址

  • 登录AD b2c,重定向回app主页

  • close the tab on browser

  • 30分钟后在新的浏览器选项卡中打开主页URL

  • 由于ASP.net MVC cookie会话超时,app重定向到AD B2C

  • Azure AD B2C不是要求凭据,而是静默登录用户

  • 用户被重定向回主页

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

注意,“保持登录状态”选项已禁用,用户无法设置 .

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

2 回答

  • 1

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

  • 0

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

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

    参考文件 - Azure AD B2C: Token reference

相关问题