Hi,
During our OAuth 2.0 / OpenID Connect integration with OpenIAM(Autorization server and OIDC identity provider), we expirience the following issues:
Issue 1 :
When executing a successful Authorization Code or PKCE flow, OpenIAM returns both an id_token and an access_token also refresh_token when is set to on; however, both tokens id_token and an access_token are identical (same JWT).
The token payload contains claims such as:
-
nonce -
at_hash -
c_hash -
auth_time
These claims are ID Token specific according to the OIDC specification and should not appear in an Access Token. The acces_token should be something similar to this:
{
“iss”: “http://xxxxxxxxxxx/idp/oauth2/OAUTHOICD-SSO”,
“sub”: “8a8a8fff9c9f37c7019d069ef9440409”,
“aud”: “userinfo”,
“scope”: “openid profile email”,
“exp”: 1776327142,
“iat”: 1776325342
}..
..
ID Tokens and Access Tokens must be diferent and serve separete purposes .
Issue 2:
when “Send JWT Token as Access Token” is enabled,id_token and access_token are byte-for-byte identical, and /userinfo OpenIAM endpoint responds with:
{
“error”: “invalid_request”,
“error_description”: “Provided token is not found”
}
/userinfo strictly requires a valid Access Token, when we use am opake token works properly.
Questions
-
Is it expected behavior that enabling “Send JWT Token as Access Token” results in the same JWT being used as both
id_tokenandaccess_token? -
If not, what is the correct configuration to ensure separate token issuance in compliance with OAuth 2.0 / OIDC?
-
Is there anything else i should do for using /userinfo endpoint.
-
I follow links from OpenIAM setup, ¿is there any other source i should follow for solving these?: OpenID Connect (OIDC),oAuth 2.0,OpenIAM oAuth2.0 Scopes
We appreciate your guidance to resolve this issues, my current OpenIAM Version: 4.2.1.15.1702.
Kind regards,
Mauro