jwt - Keycloak中获取用户的JWT
问题描述
作为 Keycloak 服务器的管理员,我如何在不知道密码的情况下获取特定用户的访问令牌?不幸的是,模仿对我没有帮助,因为它既不包含他的 ID,也不包含他的用户名。
解决方案
从 keycloak 3.4.0 开始有一个称为令牌交换的功能,它允许您从具有模拟权限的用户交换访问令牌,以代表其他用户获取其他令牌。您可以通过这种方式使用令牌端点:
curl -X POST \
-d "client_id=starting-client" \
-d "client_secret=geheim" \
--data-urlencode "grant_type=urn:ietf:params:oauth:grant-type:token-exchange" \
-d "subject_token=...." \
--data-urlencode "requested_token_type=urn:ietf:params:oauth:token-type:access_token" \
-d "audience=target-client" \
-d "requested_subject=wburke" \
http://localhost:8080/auth/realms/myrealm/protocol/openid-connect/token
你可能会发现这篇文章也很有用。
推荐阅读
- php - 您的 PHP 版本是 7.0.6。所需的 PHP 版本为 ~7.0.13|~7.1.0
- android - 如何以 Whatsapp 样式堆叠或分组 Firebase 云消息传递通知
- r - 来自扫帚输出的具有多个模型的格式化乳胶回归表?
- javascript - 剪切和粘贴不从 html 元素中获取所有属性/属性
- ios - iOS Swift4如何保护接口中定义的计算属性不被赋值?
- visual-studio - 引用旧版本 Microsoft.AspNetCore.App 的 Visual Studio 2017 项目
- javascript - 每隔一分钟刷新 HTML 页面
- typescript - Typescript 通用存储库模式 - 带有方法的返回类型
- css - 如何在反应中使用网格使表单居中
- c# - 光标离开屏幕时如何获取鼠标移动信息