Я развернул версию OpenAM - AccessManagement (6.0.0.4).Я использую Rest API для получения токена доступа с использованием потока паролей.И пытается проанализировать токен.
1) get access token
$ curl \
--request POST \
--user "clientid:clientsecret" \
--data "grant_type=password&username=user&password=welcome&scope=openid" \
http://openam.mydomain.com:8080/openam/oauth2/access_token
2) get header token (to be used for authorization header while token
introspection in step 3)
$ curl \
--request POST \
--user "clientid:clientsecret" \
--data "grant_type=client_credentials&scope=openid" \
http://openam.mydomain.com:8080/openam/oauth2/access_token
3) introspect token
$ curl \
--request POST \
--header "Authorization: Basic ZGVtbzpjaGFuZ2VpdA==" \
--data "token=f9063e26-3a29-41ec-86de-1d0d68aa85e9"
"https://openam.mydomain.com:8080/openam/oauth2/introspect"
Самоанализ токена всегда возвращается как {"active": false}.Думаю, мне не хватает конфигурации OpenAM.какие-нибудь мысли, пожалуйста?
ОБНОВЛЕНИЕ
Как предложено @BernhardThalmayr, это работает, когда я дал токен в качестве параметра запроса.3 проблемы здесь:
1) Мне нужно дать заголовок авторизации в виде закодированного клиента: clientsecret. Я не могу использовать токен носителя, сгенерированный на шаге 2, в качестве заголовка авторизации.
При использовании gluu в качестве IDP токен на предъявителя принимается как заголовок аутентификации для самоанализа токена. Но с openAm он выдает {"error_description": "Недопустимая авторизация", "error": "invalid_client"}
Я могу видеть в документах для микро-сервисов openam, для токена-носителя проверки токена, используемого в качестве заголовка аутентификации.https://backstage.forgerock.com/docs/platform/6/mservices-guide/#sec-validate-am-sso-token. Как это сделать без микросервиса?
2) Список областей пуст: я добавил области в конфигурации клиента как openid, introspect, mail, cn, profile.самоанализ маркера still возвращает массив областей как пустой
3) конечная точка openam / oauth2 / userinfo возвращает только {"sub": "amadmin"}