Hi,
I'm trying to utilize the new OAuth2.0 capabilities over the REST API so Automic users can make REST request with their own users.
I tried to configure the UC_OAUTH_SETTINGS, but the documentation is noc tspecific or does not provide any examples for the values.
i tried it with all varieties of values. Keep in mind, hat in my case <appid> == <clientid>. I don't even know, what an appid is do i just duplicated the aud, which is the <clientid> to the <appid>
JWKS_URL: http://keycloak.example.com:8180/realms/example/protocol/openid-connect/certs -- enpoint has been tested and works, provides a list of jwks
JWT_ID_KEYS: I tried it with 'appid' | 'Application tokens' | 'application ID' | 'aud' while providing an aud and appid field
JWT_SCOPES: 'automic' with the JWT having that scope.
The JWT has a strucute like
{
...
"aud": "<clientid>",
"appid": "<clientid>",
"scope": "automic",
...
}
For the user, I put in the appropriate OAuth2 Value: '<clientid>'
Further more, I did the same procedure with 'User tokens' | 'email' and the OAuth2 Value as the usermail from the IdP.
I seems to be able to reach the JWKS endpoint but fails to varify the token. I examined the token send over the REST API to automic from the http request and it is a valid and verifiable token.
It's send via the Authorization Header like 'Authorization: Bearer ey...'. and the response is
{
"code": 45254,
"error": "The credentials are not valid.",
"details": "No detail information available."
}
Thanks in advance and best regards.
EDIT: I also tried it with https and removing JWT_ID_KEYS and JWT_SCOPES and same output
EDIT 2: After loocking into the logs of the REST process, I found this:
20260414/154928.741 - 122 U00045098 Method 'GET', URL: 'https://zzz/ae/api/v1/100/executions', received from IP: '[zzz]' 'User: null/null' 'User-Agent: python-httpx/0.28.1'
20260414/154928.744 - 122 U00045624 JavaScript Object Signing and Encryption failed: Couldn't retrieve JWK set from URL: Connection refused: ey...
20260414/154928.744 - 122 U00045099 The server replied with following status: '401'
It either mean, the OAuth2.0 JWT verification component in automic is either using the token as the URL, or it's not capable of verifying the token.
Furthermore, the token pasted into the logs (which is bad practice by the way) has its signature cut off, but I can verify, that I'm sending the whole token with the signature.
So it seems like it was shipped broken... The JWKS URL in the UC_OAUTH_SETTINGS and the send token are both fine and can be verified with different tools like python-jose.