KeyCloakサーバーの機能を探索していて、/ openid-connect/token/introspectエンドポイントを使用してアクセストークンに関する情報を取得したいと考えています。
したがって、私はこのエンドポイントに次のリクエストを送信しています
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
だから、私はそれを得ることができません-この製品アプリがパブリックアクセスを持っているということに関して、この場合キークロークに適切にリクエストをどのように行うべきですか?説明してください!
クライアントがパブリックアクセスタイプを使用している場合、/ openid-connect/token/introspectエンドポイントを使用できないようです。
したがって、機密アクセスタイプに切り替えて、
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
正常に動作します。