当前位置: 首页 > 知识库问答 >
问题:

KeyClope-令牌过期后在Ajax调用中获得401

韦胜泫
2023-03-14

我正在使用keycloak 3.4.3 Server和3.4.3 springboot适配器。登录是使用以下json配置使用JavaAdapter完成的:

{
  "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-request-with:XMLHttpRequest时,令牌不会刷新。我的配置是否有问题,或者这是正常行为,我需要在ajax调用之前使用JS适配器刷新令牌?

共有1个答案

穆宾白
2023-03-14

对我来说,一个丑陋的解决方案是嵌入一个不可见的自我重新加载iframe,从而导致令牌刷新。但这是另一个问题的根源:有时登录KeyClope后的重定向会导致iframe url,而不是所需的url。我还没有找到令人满意的解决办法。

 类似资料:
  • 问题内容: 我创建了一个包含很多字段的表单,用户可以在其中创建无限的字段。如果用户将更多时间花在CSRF令牌上,则它将过期,并且当他单击提交LARAVEL时,将返回错误CSRF令牌不匹配。那么,如何使用ajax调用获取新的CSRF令牌,以便可以在固定的时间间隔内更新CSRF?我无法刷新或重新加载表格。 问题答案: 只需将其添加到您的脚本中 并确保已将令牌添加到元标记中,如下所示。 希望这对您有用。

  • 我在这里和这里面临着同样的问题,但他们没有得到回答,我有更多的信息和不同的设置,所以它不会重复。 我有一个Spring boot 1.5.13应用程序,使用带有keycloak 3.4.3服务器的Spring Security适配器。一切正常,但当我在5分钟后向应用程序发出ajax请求而没有重新加载页面时,响应返回401错误。我知道这是因为访问令牌已过期。 文件说明如下: 令牌最短生存时间在密钥斗

  • 我正在编写一个应用程序,调用来自Flutter的google fit rest api。 我需要使用(https://pub.dev/packages/google_sign_in)与谷歌签名。我可以毫无问题地获得一个令牌(见是否有人设法从谷歌登录(Flutter)获得id令牌),但如何获得一个新的令牌时,它是过期的? 我不想要求用户每小时登录并获得一个新的令牌

  • 我是谷歌应用程序管理员,使用xoauth.py和IMAP下载用户邮件,没有用户密码。但这个过程在1小时后停止。我搜索了很多博客,我知道这个令牌在1小时后到期。谁能告诉我如何将过期时间延长到永远,或者如何刷新此令牌?

  • 我正在使用微软图形应用编程接口生成oAuth 2.0访问令牌,该令牌在1小时后过期。使用的路由是:https://login.microsoftonline.com/[租户ID]/oauth 2/v2.0/令牌我正在查询字符串中传递这些值。{grant_type:"client_credentials",client_id:,client_secret:,范围:"https://graph.mic