oauth-2.0 - [OAuth][Keycloak] invalid_grant session 在尝试使用 refresh_token 时未激活

标签 oauth-2.0 keycloak openid-connect refresh-token

我正在尝试使用 ClientOAuth2.Token.refresh() 刷新 oauth2 token ,但有时会不断收到错误消息:{"error":"invalid_grant","error_description":"Session not active"}
这是我被 Fiddler 捕获的请求

POST [URL]= HTTP/1.1
Host: [URL]
Connection: keep-alive
Content-Length: 2250
Accept: application/json, application/x-www-form-urlencoded
Origin: http://localhost:8080
Authorization: Basic YXNpbW92LWRldi1laGlzLXdlYjo=
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36
Sec-Fetch-Mode: cors
Content-Type: application/x-www-form-urlencoded
Sec-Fetch-Site: cross-site
Referer: http://localhost:8080/
Accept-Encoding: gzip, deflate, br
Accept-Language: en,vi;q=0.9,de;q=0.8,vi-VN;q=0.7,en-US;q=0.6,en-AU;q=0.5

refresh_token=[token]&grant_type=refresh_token

也许我在 KeyCloak 帐户上的设置有问题。有什么建议吗?

最佳答案

您需要添加范围 offline_access检索原始 token 时,否则当相关用户 session 未激活时您将无法刷新它(这是特定于 OIDC,而不是 oauth2)。

关于oauth-2.0 - [OAuth][Keycloak] invalid_grant session 在尝试使用 refresh_token 时未激活,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58320109/

相关文章:

azure - 如何匿名化传出 AzureAD/B2C 租户 ID?

oauth-2.0 - 使用 ORY Hydra 进行 OpenID session 管理

mysql - Keycloak 用户联合使用现有的 MySQL 数据库进行用户身份验证

php - 在 Apigility Resource 中获取当前用户信息

PayPal id_token 验证

postgresql - 使用 Docker Image 时如何为 Keycloak 设置 PostgreSQL 架构?

keycloak 看门人不会阻止任何请求

python - 如何从备用源创建 Google API OAuth Credentials 对象

asp.net-mvc - 当MVC和Web API在不同的项目中时如何存储不记名 token

react-router - 使用Electron App进行Keycloak身份验证