Keycloak刷新令牌到期与SSO超时有关。如果SSO会话空闲设置为30分钟,则刷新令牌将仅工作30分钟。会话空闲只能与会话最大一样大,因此两者中的最低者为最大刷新令牌寿命。如何像访问令牌一样分别指定刷新令牌的到期时间?如果刷新令牌到期,我们需要获取另一个刷新令牌。理想的刷新令牌到期时间?
答案 0 :(得分:2)
客户端应用程序使用刷新令牌来获取新的访问令牌,而无需用户干预。它应该在访问令牌过期之前或之后立即这样做。它将收到一个刷新令牌,该令牌再次有效30分钟(Keycloak会话空闲超时)。客户可以重复进行,直到“会话最大”时间跨度结束为止。
作为客户端,不要让刷新令牌过期:
如果刷新令牌已过期,则客户端需要将浏览器定向到授权端点。为避免这种情况,当访问令牌无效时,您的应用程序应使用刷新令牌。更好的是:在访问令牌到期之前安排刷新时间。
范围脱机访问
作为替代,客户端可以请求范围“脱机访问”。在这种情况下,刷新令牌的生存时间不受SSO会话空闲和最大设置的约束。 有关详细信息,请参见https://www.keycloak.org/docs/latest/server_admin/index.html#_offline-access