How to fetch the external tasks from spring boot camunda platform application which is secured with OAuth 2.0 (JWT), using external task client spring boot application

I’m new to Camunda, I’m facing the issue like below.

I have two services which are spring boot camunda platform application(process-workbench-service) and one more is external task client spring boot application(notification-service).

In Process-Workbench-Service I have the BPMN file (attached the BPMN as well), this service is secured with OAuth 2.0 (JWT).

norification.bpmn (4.4 KB)

Now another service which is going to acts as external task client called notification-service, it has the configuration details of process-workbench-service (attached below).

application.properties:

camunda.bpm.client.base-url=https://processworkbenchservice/process/workbench/engine-rest
# http://localhost:8080/engine-rest
camunda.bpm.client.async-response-timeout=1800000
camunda.bpm.client.subscriptions.tasktopic.variable-names=submitter
camunda.bpm.client.subscriptions.tasktopic.process-definition-key=Process_1
camunda.bpm.client.subscriptions.tasktopic.lock-duration=1000000
camunda.bpm.client.worker-id=extworker
camunda.bpm.client.max-tasks=3

notification-service has the below code along with SpringBootApplication class.

@Configuration
public class NotificationHandlerConfiguration {

@ExternalTaskSubscription("tasktopic")
    @Bean
    public ExternalTaskHandler sendNotification() throws Exception {
        return (externalTask, externalTaskService) -> {
		String submitter =  externalTask.getVariable("submitter");
		// Some business logic
		
		externalTaskService.complete(externalTask);
		}
	}
}

How can i fetch and complete the external task? With the above logic how my external task client(notification-service) will call the secured camunda platform application(process-workbench-service)

Please help me here.

The External Task Client communicates with the REST Interface of the engine.
Out-of-the-box only basic authentication is supported.

Other types, such as OAuth 2, require a custom request interceptor:

@StephanHaarmann Thanks for the quick response.