>编辑:我已经在虚拟机上设置了一个服务器,没有Docker,一切正常,看起来VM+Docker是太多的层。
我有一个节点后端,其路由受以下保护:
app.get('/api/user', keycloak.protect(), function(req, res) {
res.json({ message: 'This is an USER endpoint payload' });
});
我有这个钥匙斗篷.json :
{
"realm": "MyRealm",
"auth-server-url": "http://keycloak.com:8008/auth/",
"ssl-required": "none",
"resource": "sso_agt",
"public-client": true,
"confidential-port": 0
}
当我使用此路由时,我被重定向到身份验证页面。当我被登录时,它会将我重定向到正确的 url,但我拒绝访问,并在 npm 控制台中出现此错误:
Could not obtain grant code: Error: Unable to refresh with expired refresh token
在我的钥匙斗篷控制台中,我有一个警告类型=CODE_TO_TOKEN_ERROR
我在 Ubuntu Server VM 上运行带有 docker 的 keycloak。
刷新令牌是无过期密码,当与 clientId 和客户端服务结合使用时,允许生成实际的访问令牌。刷新令牌标记为无效后,如果不使用范围:offline
设置的隐式登录流导航用户,则无法获取新令牌。
我已经在 vm 上设置了一个服务器,没有 Docker,一切正常,看起来 VM+Docker 的层太多了。