Azure B2C Web app-如何在Web app会话生存期之外使用刷新令牌进行身份验证

Azure B2C Web app-如何在Web app会话生存期之外使用刷新令牌进行身份验证,azure,authentication,access-token,azure-ad-b2c,refresh-token,Azure,Authentication,Access Token,Azure Ad B2c,Refresh Token,我有一个web应用程序,需要用户输入凭据才能访问graph.com。我正在使用用户流策略。我可以获取id_令牌,并使用此id_令牌请求访问_令牌和刷新_令牌。出于测试目的,我设置了以下寿命设置: 用户登录15分钟后,我再次导航到web应用uri,要求用户重新输入凭据,但我希望避免重新输入凭据(在受控时间内) Azure文档说明Cookie在web应用程序会话时过期,web应用程序会话生命周期的最大值为24小时,我想了解我是否可以使用我的刷新令牌覆盖此24小时限制以重新验证 当浏览器再次指向we

我有一个web应用程序,需要用户输入凭据才能访问graph.com。我正在使用用户流策略。我可以获取id_令牌,并使用此id_令牌请求访问_令牌和刷新_令牌。出于测试目的,我设置了以下寿命设置:

用户登录15分钟后,我再次导航到web应用uri,要求用户重新输入凭据,但我希望避免重新输入凭据(在受控时间内)

Azure文档说明Cookie在web应用程序会话时过期,web应用程序会话生命周期的最大值为24小时,我想了解我是否可以使用我的刷新令牌覆盖此24小时限制以重新验证

当浏览器再次指向web应用uri时,我是否可以请求新的刷新令牌,以便用户无需再次登录?如果是这样的话,我看不出通常在哪里干预(web应用程序代码?控制器?)这个请求,然后我是否需要向Azure AD发送通知,让它知道用户已通过身份验证?我可以在Fiddler中看到一个重新输入凭据的请求(oauth2/v2.0/authorize),因此不确定何时采取什么步骤


谢谢

当用户与网站交互时,在Web应用程序中使用刷新令牌,但访问令牌已过期。web服务器将调用B2C以刷新访问令牌

当Web应用程序将用户显式发送到/授权端点时,将使用cookie。这允许B2C在中SSO用户,或提示进行任何交互。这用于提供跨应用程序SSO或旅程中的SSO,例如登录->配置文件编辑(取消cred提示)

基于此:

当浏览器再次指向web应用uri时,我是否可以请求新的刷新令牌,以便用户无需再次登录

不,你不能

您需要增加B2C Web应用SSO生存期,这样,如果用户在关闭选项卡(而不是浏览器)后浏览您的Web应用,他们将获得SSO。因为在这里,它们将访问/授权端点,所以使用的设置是Web应用SSO生存期,即B2C Cookies


您可能需要查看是否需要24小时以上,但这是一个持久的cookie,因此关闭浏览器不会让用户注销。这需要自定义策略。

非常感谢您的澄清和实施KMSI@Jas Suri的指导!