使用 Hybrid Flow 刷新令牌

Refreshing token with Hybrid Flow

我确定我遗漏了什么。

我有一个 MVC 应用程序和一个使用 Thinktecture Identity Server 的 SSO 站点。 MVC 应用程序使用混合流对 SSO 站点上的用户进行身份验证。 MVC 站点使用 Microsoft OpenIdConnect OWIN 客户端与 SSO 对话。我的令牌寿命很短 - 大约 5 分钟,但我有刷新令牌,因此用户会不断重新进行身份验证。这是一个非常有用的功能。

然而,当令牌需要刷新时,用户会通过 SSO 站点退回,这会中断表单发布、ajax 调用等。这不太有用。

我可以不在服务器上进行更新,而是让用户代理进行更新吗?我看不到执行此操作的方法。

我也打算研究滑动过期以尝试解决这个问题,尽管我一直认为从安全角度来看滑动过期是一个糟糕的想法。

我错过了什么。我对谁负责各种活动感到困惑。

当用户的令牌过期时,应该通过 SSO 站点将用户退回。我现在对带有绝对时间限制的 cookie 进行滑动过期。理想情况下,此限制应与令牌的到期时间相对应,但我有一个刷新令牌,因此可用于从服务器刷新令牌。

依赖方收到有效响应后,负责保持用户登录,而不是 SSO 站点。需要刷新令牌后,即可使用 SSO 站点。