首页 > 解决方案 > Keycloak:在 JSON 中获取授权码?

问题描述

我们正在做一个学生项目。我们的目标是实现用户可以通过 Keycloak 使用 x509 证书进行授权。

实际上,我们不能继续接收授权码来交换令牌请求。基本上,我们发送授权码请求并通过 URL 参数接收授权码。但我们更愿意接收 JSON 格式的授权代码。客户端的访问类型设置为公共。

有人可以帮助我们吗?谢谢你。

标签: openid-connectx509keycloak

解决方案


授权代码流在 url 中给出,因为它可以在重定向到 keycloak 登录页面后继续存在。您可以使用客户端 ID 和指向您的应用程序的重定向 url 访问 keycloak 登录页面。登录成功后,keycloak 服务器会再次重定向到您的应用程序,并提供附加在 url 本身中的授权代码。然后,您的应用程序会发送此代码以获取令牌集,该令牌集实际上是以 JSON 格式给出的。

无法从 REST 端点获取授权代码,因为它旨在遵循 Web 浏览器流程。您仍然可以使用直接访问授权,以便使用用户的凭据直接登录用户并获取令牌集。然而,这被认为有点弱。

也可以看看:


推荐阅读