密钥斗篷令牌有时未定义

时间:2020-08-06 19:05:38

标签: javascript typescript express keycloak

我正在尝试将Keycloak用作身份验证服务,并且正在使用TypeScript / Express堆栈作为后端。我一直在使用keycloak-admin软件包,这确实需要我不时刷新令牌。我有一个setInterval每30秒运行一次,类似于他们的建议,但是我到达了REST端点/realms/{realm}/protocol/openid-connect/token并手动交换访问和刷新令牌。

问题是,即使尝试尝试使用Keycloak适配器时,即使这些刷新的令牌也会在请求时导致401错误,这似乎是随机的。它通常在服务运行了很长时间之后发生。发生这种情况时,来自keycloak-admin适配器的任何请求(例如,使用kcAdminClient.users.findOne()时)都将Bearer undefined作为身份验证标头。这是我特有的,因为我是使用Axios通过REST刷新令牌的,当请求未返回2xx时,令牌应该抛出错误。我一直在解决此问题的方法只是重新启动REST服务。

该REST路由会返回非错误的HTTP代码,却不返回任何新信息吗?

我想到的一个潜在解决方案是检查刷新时传入的令牌是否确实未定义。如果是这样,我可以像开始时那样重新进行身份验证-我认为这可能会给我一个新的会话,这可能是导致以前的刷新失败的原因。

谢谢!

0 个答案:

没有答案