刷新 Keycloak 离线令牌 [英] Refreshing Keycloak offline token

查看:31
本文介绍了刷新 Keycloak 离线令牌的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前正在尝试使用 Keycloak 获取离线令牌.我的问题是,我无法刷新曾经收到的令牌..

I am currently trying to get an offline token working with Keycloak. My problem here is, that I cannot refresh a token I once reveived..

当我最初调用令牌端点时,我会得到一个带有工作访问令牌的正确响应:

When I initially call the token endpoint, I get a proper response with a working access token:

{
  "access_token": "<access-token>",
  "expires_in": 900,
  "refresh_expires_in": 0,
  "refresh_token": "<refresh-token>",
  "token_type": "bearer",
  "not-before-policy": 1539890980,
  "session_state": "a178faf2-xxxx-xxxx-xxxx-fb16548b6805",
  "scope": "email profile offline_access"
}

然后,我尝试使用

curl -X POST 
  https://<my-url>/auth/realms/<realm>/protocol/openid-connect/token 
  -H 'Content-Type: application/x-www-form-urlencoded' 
  -H 'cache-control: no-cache' 
  -d 'client_id=<client-id>
  -d 'refresh_token=<refresh-token>
  -d 'grant_type=refresh_token'

我收到以下错误:

{
  "error": "invalid_grant",
  "error_description": "Offline session not active"
}

我查看了 Keycloaks Jira 问题,这似乎不是一个已知问题.谁能帮我让离线令牌运行?有什么特别的技巧吗?感谢您的帮助!

I looked at Keycloaks Jira issues and this doesn't seem to be a known issue. Can anyone help me getting the offline token running? Is there any special trick? Appreciate your help!

推荐答案

确保您的领域设置的值大于 0 用于离线会话.它们的生命周期与正常会话不同.

Make sure your realm settings have a value greater than 0 for offline sessions. They have a separate lifetime than normal sessions.

我认为默认设置为 30 天,但请仔细检查.

By default I think it's set to 30 days but just double check.

然后检查领域设置以查看是否也允许重复使用刷新令牌.如果您禁用了令牌的重复使用,请确保您没有多次使用刷新令牌.

Then check realm settings to see if re-use of refresh tokens is allowed as well. If you disabled re-use of tokens then make sure you don't use a refresh token more than once.

如果重复使用被关闭,那么我现在什么都没有想到.我只在令牌过期时看到您的错误.

If re-use is turned off then I've got nothing that comes to mind right now. I've only seen your error when the token expires.

这篇关于刷新 Keycloak 离线令牌的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆