diff --git a/packages/nodes-base/credentials/MauticApi.credentials.ts b/packages/nodes-base/credentials/MauticApi.credentials.ts index 096c7e544a6d0..59554826b0b83 100644 --- a/packages/nodes-base/credentials/MauticApi.credentials.ts +++ b/packages/nodes-base/credentials/MauticApi.credentials.ts @@ -1,8 +1,7 @@ import { - ICredentialDataDecryptedObject, + IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, - IHttpRequestOptions, INodeProperties, } from 'n8n-workflow'; @@ -34,22 +33,16 @@ export class MauticApi implements ICredentialType { default: '', }, ]; - async authenticate( - credentials: ICredentialDataDecryptedObject, - requestOptions: IHttpRequestOptions, - ): Promise { - const { url, username, password } = credentials as { - url: string; - username: string; - password: string; - }; - const credentialUrl = url.endsWith('/') ? `${url}api/users/self` : `${url}/api/users/self`; - const base64Key = Buffer.from(`${username}:${password}`).toString('base64'); - requestOptions.headers!['Authorization'] = `Basic ${base64Key}`; - requestOptions.url = credentialUrl ? credentialUrl : requestOptions.url; - return requestOptions; - } + authenticate: IAuthenticateGeneric = { + type: 'generic', + properties: { + auth: { + username: '={{$credentials.username}}', + password: '={{$credentials.password}}', + }, + }, + }; test: ICredentialTestRequest = { request: { diff --git a/packages/nodes-base/nodes/Mautic/GenericFunctions.ts b/packages/nodes-base/nodes/Mautic/GenericFunctions.ts index 6ae5277a6946d..0ec61e7411f9a 100644 --- a/packages/nodes-base/nodes/Mautic/GenericFunctions.ts +++ b/packages/nodes-base/nodes/Mautic/GenericFunctions.ts @@ -29,8 +29,12 @@ export async function mauticApiRequest(this: IHookFunctions | IExecuteFunctions let returnData; if (authenticationMethod === 'credentials') { + const credentials = await this.getCredentials('mauticApi'); + const baseUrl = credentials.url as string; + + options.uri = `${baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl}${options.uri}`; //@ts-ignore - returnData = await this.helpers.httpRequestWithAuthentication.call(this, 'mauticApi', options); + returnData = await this.helpers.requestWithAuthentication.call(this, 'mauticApi', options); } else { const credentials = await this.getCredentials('mauticOAuth2Api'); const baseUrl = credentials.url as string;