Keycloak - 令牌过期后在 Ajax 调用中获取 401
Posted
技术标签:
【中文标题】Keycloak - 令牌过期后在 Ajax 调用中获取 401【英文标题】:Keycloak - Getting 401 in Ajax calls after token expired 【发布时间】:2018-10-25 09:30:58 【问题描述】:我正在使用 keycloak 3.4.3 服务器和 3.4.3 springboot 适配器。使用以下 json 配置通过 Java 适配器完成登录:
"realm": "real name",
"auth-server-url": "http://172.21.34.65/auth",
"ssl-required": "external",
"resource": "appName",
"public-client": true,
"use-resource-role-mappings": true
使用非 ajax 调用刷新令牌,但是当请求包含标头 X-Requested-With: XMLHttpRequest 时,令牌不会刷新。我的配置有问题还是这是正常行为,我需要在 ajax 调用之前使用 JS 适配器刷新令牌?
【问题讨论】:
这方面有什么进展吗?我面临同样的情况 【参考方案1】:对我来说,一个丑陋的解决方案是嵌入一个不可见的自动重新加载 iframe,它会导致令牌刷新。但这是另一个问题的根源:有时登录 keycloak 后的重定向会导致 iframe url 而不是所需的。 我还没有找到令人满意的解决方案。
【讨论】:
以上是关于Keycloak - 令牌过期后在 Ajax 调用中获取 401的主要内容,如果未能解决你的问题,请参考以下文章
在 Spring Boot 和 Spring Security 中,不活动、过期的令牌会导致带有 Keycloak 的 IllegalStateException