0
votes

I have deployed the OpenAM - AccessManagement (6.0.0.4) version. I am using Rest API's to get the access token using password flow. And trying to introspect the token.

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"

Token introspection is always returning as {"active" : false }. I guess I am missing some OpenAM configuration. any thoughts please?

UPDATE

As suggested by @BernhardThalmayr it is working when I gave token as query parameter. 3 issues here:

1)I need to give authorization header as encoded clientid:clientsecret.I can not use the bearer token generated in step 2 as authorization header.

With gluu as IDP, bearer token is accepted as auth header for token introspection.But with openAm it gives { "error_description": "Invalid authorization", "error": "invalid_client" }

I can see in docs for openam micro-services, for token validation bearer token being used as auth header. https://backstage.forgerock.com/docs/platform/6/mservices-guide/#sec-validate-am-sso-token. How to do it without microservice?

2) scope list is empty : I have added scopes in client configuration as openid, introspect, mail,cn,profile. still token introspection returns scopes array as empty

3) openam/oauth2/userinfo endpoint returns only { "sub": "amadmin" }

1
IMHO AM is not spec compliant as it requires the value of the token to be sent as query parameter [backstage.forgerock.com/docs/am/6/oauth2-guide/… in contrast to what is defined in [tools.ietf.org/html/rfc7662]. Have you tried to provide the token as documented in AM docs?Bernhard Thalmayr
I will post this as answer then.Bernhard Thalmayr

1 Answers

1
votes

IMHO AM is not spec compliant as it requires the value of the token to be sent as query parameter [backstage.forgerock.com/docs/am/6/oauth2-guide/… in contrast to what is defined in [tools.ietf.org/html/rfc7662]. Have you tried to provide the token as documented in AM docs?