diff --git a/api/src/engine/connectors/csv/main.connector.ts b/api/src/engine/connectors/csv/main.connector.ts
index eedb7ae6b31074fbe1e5c66970aa008f62859004..05864adb55c7141de3ec49bd6854b5fdcdb793ee 100644
--- a/api/src/engine/connectors/csv/main.connector.ts
+++ b/api/src/engine/connectors/csv/main.connector.ts
@@ -19,6 +19,10 @@ export default class CSVService implements IEngineService {
     private readonly httpService: HttpService,
   ) {}
 
+  logout() {
+    throw new Error('Method not implemented.');
+  }
+
   getAlgorithms(): Algorithm[] | Promise<Algorithm[]> {
     throw new Error('Method not implemented.');
   }
diff --git a/api/src/engine/connectors/datashield/main.connector.ts b/api/src/engine/connectors/datashield/main.connector.ts
index 829147fe9b985703be4868f6e12b8889884d8abe..4df8aa14bf1fda0bdec3a4d21c98cc79277cdd83 100644
--- a/api/src/engine/connectors/datashield/main.connector.ts
+++ b/api/src/engine/connectors/datashield/main.connector.ts
@@ -11,6 +11,10 @@ import { ExperimentEditInput } from 'src/engine/models/experiment/input/experime
 import { Algorithm } from 'src/engine/models/experiment/algorithm.model';
 
 export default class DataShieldService implements IEngineService {
+  logout(): void {
+    throw new Error('Method not implemented.');
+  }
+
   getAlgorithms(): Algorithm[] | Promise<Algorithm[]> {
     throw new Error('Method not implemented.');
   }
diff --git a/api/src/engine/connectors/exareme/main.connector.ts b/api/src/engine/connectors/exareme/main.connector.ts
index b1c789e9909c445a77d001bd50c12d1070200584..35d34e783f238c62247f877151d2bc4899fc905a 100644
--- a/api/src/engine/connectors/exareme/main.connector.ts
+++ b/api/src/engine/connectors/exareme/main.connector.ts
@@ -1,6 +1,11 @@
 import { HttpService } from '@nestjs/axios';
-import { BadRequestException, HttpException, HttpStatus } from '@nestjs/common';
-import { Request } from 'express';
+import {
+  BadRequestException,
+  HttpException,
+  HttpStatus,
+  Res,
+} from '@nestjs/common';
+import { Request, Response } from 'express';
 import { firstValueFrom, map, Observable } from 'rxjs';
 import { IEngineOptions, IEngineService } from 'src/engine/engine.interfaces';
 import { Domain } from 'src/engine/models/domain.model';
@@ -33,6 +38,14 @@ export default class ExaremeService implements IEngineService {
     private readonly httpService: HttpService,
   ) {}
 
+  async logout(@Res() response: Response = undefined) {
+    const path = `${this.options.baseurl}logout`;
+
+    await firstValueFrom(this.httpService.get(path));
+
+    response?.clearCookie('OAuth_Token_Request_State');
+  }
+
   async createExperiment(
     data: ExperimentCreateInput,
     isTransient = false,
@@ -109,11 +122,6 @@ export default class ExaremeService implements IEngineService {
   async getDomains(ids: string[]): Promise<Domain[]> {
     const path = this.options.baseurl + 'pathologies';
 
-    console.log(
-      'connectors headers',
-      this.httpService.axiosRef.defaults.headers,
-    );
-
     try {
       const data = await firstValueFrom(
         this.httpService.get<Pathology[]>(path),
diff --git a/api/src/engine/connectors/local/main.connector.ts b/api/src/engine/connectors/local/main.connector.ts
index 2ff1a44faa75d436313c152256cfdcf46299121d..cb472d927f571c9553c0115624a9981f2be653c6 100644
--- a/api/src/engine/connectors/local/main.connector.ts
+++ b/api/src/engine/connectors/local/main.connector.ts
@@ -11,6 +11,10 @@ import { ExperimentEditInput } from 'src/engine/models/experiment/input/experime
 import { Algorithm } from 'src/engine/models/experiment/algorithm.model';
 
 export default class LocalService implements IEngineService {
+  logout(): void {
+    throw new Error('Method not implemented.');
+  }
+
   getAlgorithms(): Algorithm[] | Promise<Algorithm[]> {
     throw new Error('Method not implemented.');
   }
diff --git a/api/src/engine/engine.controller.ts b/api/src/engine/engine.controller.ts
index fa8a75c6edee62019cff52a19647ed5cb3eec3e1..266f1a28e4531edb1b3776a701ab2c3715197d95 100644
--- a/api/src/engine/engine.controller.ts
+++ b/api/src/engine/engine.controller.ts
@@ -74,4 +74,9 @@ export class EngineController {
   agreeNDA(@Req() request: Request): Observable<string> | string {
     return this.engineService.editActiveUser(request);
   }
+
+  @Get('logout')
+  logout(): void {
+    this.engineService.logout();
+  }
 }
diff --git a/api/src/engine/engine.interfaces.ts b/api/src/engine/engine.interfaces.ts
index e3f68aa1b75967c8d9cca9b8c52c4a120f0d7a43..331ffe7fec9a53a3ed62e87b23283d0e8b393580 100644
--- a/api/src/engine/engine.interfaces.ts
+++ b/api/src/engine/engine.interfaces.ts
@@ -63,4 +63,6 @@ export interface IEngineService {
   getActiveUser(request: Request): Observable<string> | string;
 
   editActiveUser(request: Request): Observable<string> | string;
+
+  logout(): void;
 }