azure ad b2c 会话不会过期
azure ad b2c session doesnt expire
我有一个 ASP.net MVC webapp,它使用 Azure AD B2C 对用户进行身份验证。 ASP.net mvc 应用程序中的 cookie 设置为在滚动超时 20 分钟后过期。 AD B2C中的设置如下:
- 访问和 ID 令牌生命周期 = 20 分钟
- 刷新令牌生命周期 = 14 天
- 刷新令牌滑动 window lifetime = bounded, 90 days
- 声明代表保单 ID = tfp
- Web 应用会话生命周期 = 20 分钟
- WebApp 会话超时 = 滚动
- 单点登录配置 = 应用程序
- 在注销请求中请求 ID 令牌 = 否
顺序如下:
- 打开应用程序url
- 登录到 AD b2c,重定向回应用程序主页
- 关闭浏览器上的标签
- 30 分钟后在新的浏览器选项卡中打开主页url
- 由于 ASP.net MVC cookie 会话超时,应用重定向到 AD B2C
- Azure AD B2C 不询问凭据,而是静默登录用户
- 用户被重定向回主页
为什么 Azure AD B2C cookie 没有过期并且没有要求用户再次进行身份验证?我假设在 AD B2C 中使用上面的设置应该会导致用户重新登录,这是我想要的行为。
请注意,"Keep me signed in" 选项已禁用,用户无法设置。
另外,我没有使用 offline_access 作用域,因此没有为我的应用程序提供刷新令牌。因此,导致问题的不是刷新令牌。
据我了解,在上述场景中,刷新令牌仍然有效,将用于在无需用户交互的情况下获取新的 ID 令牌。
刷新令牌是安全令牌,您的应用可以使用它们在 OAuth 2.0 流程中获取新的 ID 令牌和访问令牌。它们代表用户为您的应用提供对资源的长期访问权限,而无需与这些用户交互。
您可能遇到了与我相同的问题。请参阅
上的答案
我有一个 ASP.net MVC webapp,它使用 Azure AD B2C 对用户进行身份验证。 ASP.net mvc 应用程序中的 cookie 设置为在滚动超时 20 分钟后过期。 AD B2C中的设置如下:
- 访问和 ID 令牌生命周期 = 20 分钟
- 刷新令牌生命周期 = 14 天
- 刷新令牌滑动 window lifetime = bounded, 90 days
- 声明代表保单 ID = tfp
- Web 应用会话生命周期 = 20 分钟
- WebApp 会话超时 = 滚动
- 单点登录配置 = 应用程序
- 在注销请求中请求 ID 令牌 = 否
顺序如下:
- 打开应用程序url
- 登录到 AD b2c,重定向回应用程序主页
- 关闭浏览器上的标签
- 30 分钟后在新的浏览器选项卡中打开主页url
- 由于 ASP.net MVC cookie 会话超时,应用重定向到 AD B2C
- Azure AD B2C 不询问凭据,而是静默登录用户
- 用户被重定向回主页
为什么 Azure AD B2C cookie 没有过期并且没有要求用户再次进行身份验证?我假设在 AD B2C 中使用上面的设置应该会导致用户重新登录,这是我想要的行为。
请注意,"Keep me signed in" 选项已禁用,用户无法设置。
另外,我没有使用 offline_access 作用域,因此没有为我的应用程序提供刷新令牌。因此,导致问题的不是刷新令牌。
据我了解,在上述场景中,刷新令牌仍然有效,将用于在无需用户交互的情况下获取新的 ID 令牌。
刷新令牌是安全令牌,您的应用可以使用它们在 OAuth 2.0 流程中获取新的 ID 令牌和访问令牌。它们代表用户为您的应用提供对资源的长期访问权限,而无需与这些用户交互。
您可能遇到了与我相同的问题。请参阅