生成Keycloak离线令牌

问题描述 投票:0回答:1

我是 Keycloak 身份和用户管理的新手。 我主要是在寻找一种生成离线令牌的方法。

目前我有 授权 URL、访问令牌请求和刷新令牌请求 为了生成离线令牌,我们需要添加额外的参数:scope=offline_access 我不确定为什么在我的情况下它没有生成,因为我已经验证了来自 jwt.io 的不记名令牌,“typ”不是“离线”。

访问令牌请求是

curl \  
 -d "client_id=<my-client-id>" -d "client_secret=<client-secret>" \  
 -d "username=<user>" -d "password=<pass>" \
 -d "grant_type=password" \
 -d "scope=openid info offline_access" \   
 https://localhost:8080/auth/realms/demo/protocol/openid-connect/token | jq

Method: POST
URL: https://keycloak.example.com/auth/realms/myrealm/protocol/openid-connect/token
Body type: x-www-form-urlencoded
Form fields:    
client_id : <my-client-name>
grant_type : refresh_token
refresh_token: <my-refresh-token>

请推荐

keycloak spring-security-oauth2 bearer-token
1个回答
0
投票

Keycloak 离线令牌是刷新令牌。

首次登录时,如果未指定 Scope=offline_access,您将获得的是范围为 !=offline_access 的常规刷新令牌。您可以解码刷新令牌,并检查范围。

因此,稍后当您使用此刷新令牌时,您将无法将范围更改为offline_acces,即使在您的参数中指定offline_access,也不会考虑它。

© www.soinside.com 2019 - 2024. All rights reserved.