Who knows how to obtain the id_token with Keycloak
?
I have been working with Keycloak
in Java
(Spring, JEE) and postman.
The basics work fine but I need the id_token
since there are some claims that they are not present in the access_token
but they are present in the id_token
.
Using the keycloak-core
library I could obtain the Keycloak context, but the id_token attribute always is null.
Some idea?
Client Configuration applicationThe KeycloakInstalled adapter supports the PKCE [RFC 7636] mechanism to provide additional protection during code to token exchanges in the OIDC protocol. PKCE can be enabled with the "enable-pkce": true setting in the adapter configuration.
in our frontend - send username and password to KC “token” endpoint and get an authorization code. pass this code to our Backend server. Backend send this code + secret to the KC to get a valid Access token (and refresh token) BE send the access token back to the FE.
The first is an application that asks the Keycloak server to authenticate a user for them. After a successful login, the application will receive an identity token and an access token. The identity token contains information about the user such as username, email, and other profile information.
If you are using keycloak version 3.2.1, then below mail chain will help you. Hi All
I am using below curl command
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"
In the above command's response id_token is missing ,which is require for kong to tell who i am?
In my keycloak realm->client-> Full Scope Allowed ->True
Ok I found it we have to add
scope=openid
then only it will work
I had the same thing with Keycloak 3.4.3 version.
I added scope=openid
to my request as Gal Margalit mentioned in his answer and it works.
Here is my request:
curl -X POST -H "Content-Type:application/x-www-form-urlencoded" -d "scope=openid" -d "grant_type=password" -d "client_id=test" -d "[email protected]" -d "password=test" 'https://YOUR-DOMAIN/realms/test123/protocol/openid-connect/token'
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With