Keycloak id_token 使用 REST 身份验证为空
Keycloak id_token is null with REST authentication
在使用 Keycloak 进行 REST 身份验证时,我的 id_token 为空(服务器端)。要连接到应用程序,我使用文档中提供的以下 URI:http://localhost:port/auth/realms/{name}/protocol/openid-connect/token
(具有适当的形式参数 grant_type、用户名、密码...请参阅 here)。作为响应(客户端),我可以检索 access_token 和 id_token。然后,我使用 HTTP header 中的 "Bearer" 授权与服务器进行讨论。使用我的自定义客户端时,id_token 在服务器端为空。
谁能解释一下为什么?
(需要说明的是,使用 keycloak 身份验证页面一切正常)
id_token好像只有在使用GUI认证界面时才会用到。为了绕过我的问题,我将自定义元数据添加到 access_token,然后替换了对 id_token 的所有引用(在服务器端)到 access_token。通过这样做,应用程序完全兼容 OAuth2 协议。
在使用 Keycloak 进行 REST 身份验证时,我的 id_token 为空(服务器端)。要连接到应用程序,我使用文档中提供的以下 URI:http://localhost:port/auth/realms/{name}/protocol/openid-connect/token
(具有适当的形式参数 grant_type、用户名、密码...请参阅 here)。作为响应(客户端),我可以检索 access_token 和 id_token。然后,我使用 HTTP header 中的 "Bearer" 授权与服务器进行讨论。使用我的自定义客户端时,id_token 在服务器端为空。
谁能解释一下为什么?
(需要说明的是,使用 keycloak 身份验证页面一切正常)
id_token好像只有在使用GUI认证界面时才会用到。为了绕过我的问题,我将自定义元数据添加到 access_token,然后替换了对 id_token 的所有引用(在服务器端)到 access_token。通过这样做,应用程序完全兼容 OAuth2 协议。