使用Keycloak获得id_token
Obtain id_token with Keycloak
谁知道如何用Keycloak
获得id_token?
我一直在 Java
(Spring, JEE) 和 postman 中与 Keycloak
一起工作。
基础工作正常,但我需要 id_token
,因为有人声称它们不存在于 access_token
但它们存在于 id_token
.
使用 keycloak-core
库我可以获得 Keycloak 上下文,但是 id_token 属性始终为空。
有什么想法吗?
如果您使用的是 keycloak 版本 3.2.1,
然后下面的邮件链会帮助你。
大家好
我正在使用下面的 curl 命令
curl -k https://IP-ADDRESS:8443/auth/realms/Test123/protocol/openid-connect/token -d "grant_type=client_credentials" -d "client_id=SURE_APP" -d "client_secret=ca3c4212-f3e8-43a4-aa14-1011c7601c67"
在上面的命令的响应中 id_token 丢失了,kong 需要它来告诉我是谁?
在我的钥匙圈里realm->client-> Full Scope Allowed ->True
好的,我发现我们必须添加
scope=openid
那么只有它会起作用
在 keycloak 2.x 中,id_token 在返回的令牌对象中。
他们在 keycloak 3.x.
中删除了它
只需将以下内容添加到您的请求中:
scope: "openid"
如下所示保留id_token
http://lists.jboss.org/pipermail/keycloak-user/2018-February/013170.html
我用Keycloak 3.4.3版本也是一样的。
我按照 Gal Margalit 在他的回答中提到的那样在我的请求中添加了 scope=openid
,并且有效。
这是我的要求:
curl -X POST -H "Content-Type:application/x-www-form-urlencoded" -d
"scope=openid" -d "grant_type=password" -d "client_id=test" -d "username=test@test.hr" -d "password=test"
'https://YOUR-DOMAIN/realms/test123/protocol/openid-connect/token'
谁知道如何用Keycloak
获得id_token?
我一直在 Java
(Spring, JEE) 和 postman 中与 Keycloak
一起工作。
基础工作正常,但我需要 id_token
,因为有人声称它们不存在于 access_token
但它们存在于 id_token
.
使用 keycloak-core
库我可以获得 Keycloak 上下文,但是 id_token 属性始终为空。
有什么想法吗?
如果您使用的是 keycloak 版本 3.2.1, 然后下面的邮件链会帮助你。 大家好
我正在使用下面的 curl 命令
curl -k https://IP-ADDRESS:8443/auth/realms/Test123/protocol/openid-connect/token -d "grant_type=client_credentials" -d "client_id=SURE_APP" -d "client_secret=ca3c4212-f3e8-43a4-aa14-1011c7601c67"
在上面的命令的响应中 id_token 丢失了,kong 需要它来告诉我是谁?
在我的钥匙圈里realm->client-> Full Scope Allowed ->True
好的,我发现我们必须添加
scope=openid
那么只有它会起作用
在 keycloak 2.x 中,id_token 在返回的令牌对象中。
他们在 keycloak 3.x.
中删除了它
只需将以下内容添加到您的请求中:
scope: "openid"
如下所示保留id_token
http://lists.jboss.org/pipermail/keycloak-user/2018-February/013170.html
我用Keycloak 3.4.3版本也是一样的。
我按照 Gal Margalit 在他的回答中提到的那样在我的请求中添加了 scope=openid
,并且有效。
这是我的要求:
curl -X POST -H "Content-Type:application/x-www-form-urlencoded" -d "scope=openid" -d "grant_type=password" -d "client_id=test" -d "username=test@test.hr" -d "password=test" 'https://YOUR-DOMAIN/realms/test123/protocol/openid-connect/token'