首页 > 解决方案 > 成功注册keycloak后如何获取Id_token?

问题描述

http://localhost:8080/auth/realms/master/protocol/openid-connect/registrations?client_id=alpha&response_mode=fragment&response_type=code&redirect_uri=https://alpha.app&scope=openid

以上内容将我带到 keycloak 注册页面,并在成功注册后重定向回我的应用程序。但是在这里我想获取注册用户的用户 ID 或有关刚刚注册的用户的任何信息,但在重定向之后,我只得到 session_state 和代码参数。如何获取 id_token 或从中获取注册用户详细信息的任何内容

https://alpha.app/#session_state=5ad94adb-39f5-4664-abc8&code=7ba2-488e-9bf4-ad7b1a969904.b3d26ed7-649a-454d-b6ff-246792277042

标签: oauthkeycloak

解决方案


根据您的问题,我可以假设您正在使用授权码授予类型。您需要将收到的授权码交换为令牌。

规范:https ://openid.net/specs/openid-connect-core-1_0.html#CodeFlowAuth

Keycloak 令牌端点:http://localhost:8080/auth/realms/{REALM_NAME}/protocol/openid-connect/token

所有可用的 OIDC 端点:http://localhost:8080/auth/realms/{REALM_NAME}/.well-known/openid-configuration


推荐阅读