我不熟悉 keycloak 中的身份管理和用户管理。
我正在尝试生成离线刷新令牌。我正在使用 keycloak 12.0.1 我在 ldap-demo 领域创建了一个客户端,并确保默认情况下在范围内添加了 offline_access。这个 curl 命令给了我不记名令牌和刷新令牌。现在,当我在 jwt.io 中检查刷新令牌时,它的“typ”不是“离线”,而是仅刷新。我还定义了一个用户,角色默认定义了 offline_access。
refresh_token=`curl \
-d "client_id=ldap-app" -d "client_secret=password" \
-d "username=user1" -d "password=password" \
-d "grant_type=password" \
-d "scope=offline_access" \
https://localhost:8080/auth/realms/ldap-demo/protocol/openid-connect/token | jq -r '.refresh_token'`
请建议我需要在 keycloak 中进行的所有领域级别配置或客户端级别配置。
答案 0 :(得分:1)
刷新令牌格式是特定于供应商的,您无法通过查看它来确定行为。
offline_access 范围将出现在访问令牌中,如果它是 JWT,您将能够在其中查看此范围。
要测试的是发送刷新令牌授予消息 - 您可以通过 curl command 或使用 OAuth Tools 执行此操作。
完整的行为通常是这样的:
这意味着返回给客户的令牌不需要透露全部细节。例如,在某些情况下可以而且应该返回不透明/不可读的令牌。