Websocket和刷新令牌问题

Websocket和刷新令牌问题,websocket,jwt,token,keycloak,Websocket,Jwt,Token,Keycloak,目前,我在使用websocket的应用程序中使用KeyClope。但是,当我在前端使用atmosphere库建立websocket时,我会在身份验证后将令牌作为头传递。当时的令牌处于活动状态,连接建立时不会出现问题 但是,如果我的令牌过期,我收到一个刷新令牌,websocket通道仍然保留旧令牌,因为我没有刷新浏览器,因此我收到一个错误,表示当我尝试发送websocket消息时,令牌未处于活动状态 我发现附加新令牌的唯一方法是实际重新建立websocket连接并将新令牌附加到头中,但这不是我想要

目前,我在使用websocket的应用程序中使用KeyClope。但是,当我在前端使用atmosphere库建立websocket时,我会在身份验证后将令牌作为头传递。当时的令牌处于活动状态,连接建立时不会出现问题

但是,如果我的令牌过期,我收到一个刷新令牌,websocket通道仍然保留旧令牌,因为我没有刷新浏览器,因此我收到一个错误,表示当我尝试发送websocket消息时,令牌未处于活动状态

我发现附加新令牌的唯一方法是实际重新建立websocket连接并将新令牌附加到头中,但这不是我想要做的

有没有办法将令牌更新到正在进行的websocket频道

这个问题已经在一些话题中讨论过了,但我无法找到解决方案


谢谢你

对于那些面临同样问题的人,我就是这样绕过它的。创建一个API调用,该调用将在令牌刷新后触发,中间件将该API调用中的用户主体存储在缓存中。是否没有其他方法刷新标头中的令牌?真的很难过:/不。。我所做的是:-向中间件发出带有新令牌的API请求,我缓存它。然后对于每个websocket消息,当我想要检查某个东西的标记时,我依赖于缓存的值。