Конечная точка самоанализа сервера KeyCloak - PullRequest
0 голосов
/ 02 июля 2018

Я пытаюсь изучить возможности сервера KeyCloak и хочу получить информацию о токене доступа с помощью / openid-connect / token / introspect endpoint.

Итак, я отправляю следующий запрос на эту конечную точку

curl -v --data "token_type_hint=access_token&client_id=product- 
app&username=user&token=MY ACCESS TOKEN" 
http://localhost:8080/auth/realms/springdemo/protocol/openid- 
connect/token/introspect

Итак, вот что я получил в ответ:

{"error":"invalid_request","error_description":"Client not allowed."}* 
Connection #0 to host localhost left intact

и вот что я вижу в логах KeyCloak:

12:00:18,045 WARN  [org.keycloak.events] (default task-13) 
type=INTROSPECT_TOKEN                                     _ERROR, 
realmId=springdemo, clientId=product-app, userId=null, ipAddress=127.0.0                                     
.1, error=invalid_request, detail='Client not allowed.', 
client_auth_method=client-secret

Итак, я не могу получить его - как мне правильно сделать запрос к Keycloak в этом случае относительно того, что приложение-продукт имеет публичный доступ. Пожалуйста, объясни!

1 Ответ

0 голосов
/ 02 июля 2018

Кажется, что вы не можете использовать / openid-connect / token / introspect endpoint, когда ваш клиент имеет тип открытого доступа.

Итак, переключитесь на КОНФИДЕНЦИАЛЬНЫЙ ТИП ДОСТУПА и используйте

curl -v --data "client_secret=YOUR_SECRET9&client_id=product- 
app&username=user&token=YOUR_TOKEN" 
http://localhost:8080/auth/realms/springdemo/protocol/openid- 
connect/token/introspect

Работает нормально.

...