openid-connect - Keycloak:在 JSON 中获取授权码?
问题描述
我们正在做一个学生项目。我们的目标是实现用户可以通过 Keycloak 使用 x509 证书进行授权。
实际上,我们不能继续接收授权码来交换令牌请求。基本上,我们发送授权码请求并通过 URL 参数接收授权码。但我们更愿意接收 JSON 格式的授权代码。客户端的访问类型设置为公共。
有人可以帮助我们吗?谢谢你。
解决方案
授权代码流在 url 中给出,因为它可以在重定向到 keycloak 登录页面后继续存在。您可以使用客户端 ID 和指向您的应用程序的重定向 url 访问 keycloak 登录页面。登录成功后,keycloak 服务器会再次重定向到您的应用程序,并提供附加在 url 本身中的授权代码。然后,您的应用程序会发送此代码以获取令牌集,该令牌集实际上是以 JSON 格式给出的。
无法从 REST 端点获取授权代码,因为它旨在遵循 Web 浏览器流程。您仍然可以使用直接访问授权,以便使用用户的凭据直接登录用户并获取令牌集。然而,这被认为有点弱。
也可以看看:
推荐阅读
- reactjs - firebase.auth().onAuthStateChanged() 在本机反应中返回未定义
- android - Google Play 商店显示应用内购买状态(我怎样才能删除它)
- amazon-web-services - 请求验证 Api 网关中的路径
- tensorflow - GCP ML Tensorflow 为 GRPC 授权服务
- p2p - 所有 NAT 类型的 P2P 连接
- python - SciPy:集成期间solve_ivp的状态
- bash - VS Code - wsl 服务器意外关闭
- javascript - 如何将嵌套的 const 导出到另一个组件
- python - 如何通过在函数中包含输入文件名来命名输出文件
- schema.org - 在文章结构化数据类型中实现多个图像