Hello,
We have a Camunda 8.6.7 integrated directly with Entra ID. There is no documentation how to generate an access token for /v1 Tasklist and operate APIs. This doc assumes keycloak is enabled, We don’t have keycloak and using cookies.txt does not seem right because Entra ID use login requires a MFA.
I tried using Operate and Tasklist’s client_id / secret for the registered apps in Entra ID. Using Entra ID’s https://login.microsoftonline.com/'${tenantId}'/oauth2/v2.0/token, we can generate a JWT token, however, this
{"message":"An error occurred while attempting to decode the Jwt: Signed JWT rejected: Invalid signature"}
We have confirmed the generated JWT signature is verified and valid. That error message is incorrect. But the bigger problem is I cannot make any API calls.
Hi @atultewari - I understand you’re working with one of our sales engineers on a related issue with EntraID already. I strongly suspect that this issue, while different, is related. We’ve asked the engineering team to take a look and weigh in, but it might take a couple days as most of the engineering team is at an off-site team meetup this week. (I’ve set a reminder on my calendar to follow up when they are back.)
Thank you @nathan.loding Camunda sales engineers I’m working with are out this week and they had pulled in another engineer while they are away this week. I have not heard back. It would be awesome if you can follow up with them.
Thank you @nathan.loding Would the engineer be able to share the converted “curl”. I did not have success with our Entra ID integration. BTW, is there a way to hide credentials within operate where variables are displayed as plaintext?
@atultewari - what credentials are visible within Operate? Do you mean process variables or something else?
Looking at your configuration, I wonder if you need to explicitly set the JWKS URL. Have a look at the configuration options here (there are similar ones for Tasklist and Optimize also), specifically the spring.security.oauth2.resourceserver.jwt.issueruri setting:
Thanks @nathan.loding The link you sent was related to Camunda 8.3. I presume some of those still work within 8.6.
Also, when we integrate Camunda directly with Entra ID (without keycloak), the only 2 features available within Camunda Identity webapp are:
Roles
Mappings
There are no features / tabs related to API, Application, Groups, Users. Is that expected? Will future versions of Camunda Identity have other features enabled, or are we missing some configuration when we directly integrated with Entra ID?
Yes, I meant process variables. Operate should not display sensitive variable values, like passwords, secrets, etc. Anyway we can hide these process variables?
As for API, applications, groups, etc. - that is all configured within EntraID, not Identity. Identity is simply the interface that allows all the components to authenticate and authorize against your OIDC server. For instance, if you look at the “Additional Considerations” in the documentation, you can create and use a M2M token (which is what “Applications” are within identity, machine-to-machine tokens), you use the client_credentials grant type; for a user-facing flow, you would want to use the authorization_code grant.
As for Operate, we strongly recommend you do not include sensitive data in your processes, and instead use a reference to that data that your application/job workers can understand. Or, in the case of passwords/keys/etc., we recommend you use Secrets. Operate has no concept of what data is sensitive or not.