mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-17 18:12:04 +00:00
feat(Hubspot): Add support for Private App Token Authentication
This commit is contained in:
@@ -0,0 +1,18 @@
|
|||||||
|
import {
|
||||||
|
ICredentialType,
|
||||||
|
INodeProperties,
|
||||||
|
} from 'n8n-workflow';
|
||||||
|
|
||||||
|
export class HubspotAppToken implements ICredentialType {
|
||||||
|
name = 'hubspotAppToken';
|
||||||
|
displayName = 'Hubspot App Token';
|
||||||
|
documentationUrl = 'hubspot';
|
||||||
|
properties: INodeProperties[] = [
|
||||||
|
{
|
||||||
|
displayName: 'App Token',
|
||||||
|
name: 'appToken',
|
||||||
|
type: 'string',
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -27,6 +27,7 @@ export async function hubspotApiRequest(this: IHookFunctions | IExecuteFunctions
|
|||||||
const options: OptionsWithUri = {
|
const options: OptionsWithUri = {
|
||||||
method,
|
method,
|
||||||
qs: query,
|
qs: query,
|
||||||
|
headers: {},
|
||||||
uri: uri || `https://api.hubapi.com${endpoint}`,
|
uri: uri || `https://api.hubapi.com${endpoint}`,
|
||||||
body,
|
body,
|
||||||
json: true,
|
json: true,
|
||||||
@@ -39,6 +40,11 @@ export async function hubspotApiRequest(this: IHookFunctions | IExecuteFunctions
|
|||||||
|
|
||||||
options.qs.hapikey = credentials!.apiKey as string;
|
options.qs.hapikey = credentials!.apiKey as string;
|
||||||
return await this.helpers.request!(options);
|
return await this.helpers.request!(options);
|
||||||
|
} else if (authenticationMethod === 'appToken') {
|
||||||
|
const credentials = await this.getCredentials('hubspotAppToken');
|
||||||
|
|
||||||
|
options.headers!['Authorization'] = `Bearer ${credentials!.appToken}`;
|
||||||
|
return await this.helpers.request!(options);
|
||||||
} else if (authenticationMethod === 'developerApi') {
|
} else if (authenticationMethod === 'developerApi') {
|
||||||
if (endpoint.includes('webhooks')) {
|
if (endpoint.includes('webhooks')) {
|
||||||
|
|
||||||
|
|||||||
@@ -97,6 +97,17 @@ export class Hubspot implements INodeType {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: 'hubspotAppToken',
|
||||||
|
required: true,
|
||||||
|
displayOptions: {
|
||||||
|
show: {
|
||||||
|
authentication: [
|
||||||
|
'appToken',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: 'hubspotOAuth2Api',
|
name: 'hubspotOAuth2Api',
|
||||||
required: true,
|
required: true,
|
||||||
@@ -119,6 +130,10 @@ export class Hubspot implements INodeType {
|
|||||||
name: 'API Key',
|
name: 'API Key',
|
||||||
value: 'apiKey',
|
value: 'apiKey',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: 'App Token',
|
||||||
|
value: 'appToken',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: 'OAuth2',
|
name: 'OAuth2',
|
||||||
value: 'oAuth2',
|
value: 'oAuth2',
|
||||||
|
|||||||
@@ -143,6 +143,7 @@
|
|||||||
"dist/credentials/HttpHeaderAuth.credentials.js",
|
"dist/credentials/HttpHeaderAuth.credentials.js",
|
||||||
"dist/credentials/HttpQueryAuth.credentials.js",
|
"dist/credentials/HttpQueryAuth.credentials.js",
|
||||||
"dist/credentials/HubspotApi.credentials.js",
|
"dist/credentials/HubspotApi.credentials.js",
|
||||||
|
"dist/credentials/HubspotAppToken.credentials.js",
|
||||||
"dist/credentials/HubspotDeveloperApi.credentials.js",
|
"dist/credentials/HubspotDeveloperApi.credentials.js",
|
||||||
"dist/credentials/HubspotOAuth2Api.credentials.js",
|
"dist/credentials/HubspotOAuth2Api.credentials.js",
|
||||||
"dist/credentials/HumanticAiApi.credentials.js",
|
"dist/credentials/HumanticAiApi.credentials.js",
|
||||||
|
|||||||
Reference in New Issue
Block a user