Keycloak
でid_tokenを取得する方法を誰が知っていますか?
私はKeycloak
(Spring、JEE)と郵便配達員のJava
と協力してきました。
基本は問題なく機能しますが、id_token
には存在しないが、access_token
には存在するという主張があるため、id_token
が必要です。
keycloak-core
ライブラリを使用して、Keycloakコンテキストを取得できましたが、id_token属性は常にnullです。
いくつかのアイデア?
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は返されたトークンオブジェクト内にありました。
keycloak3.xで削除しました。
リクエストに次を追加するだけです。
scope: "openid"
id_tokenを保持するために以下にリストされているように
http://lists.jboss.org/pipermail/keycloak-user/2018-February/013170.html
Keycloak3.4.3バージョンでも同じことが言えました。
追加した scope=openid
Gal Margalitが彼の答えで述べたように、私の要求に応じて、それは機能します。
これが私のリクエストです:
curl -X POST -H "Content-Type:application/x-www-form-urlencoded" -d "scope = openid"-d "grant_type = password" -d "client_id = test" -d "username = [email protected]" -d "password = test" ' https:// YOUR-DOMAIN/realms/test123/protocol/openid-connect/token '