n8n/packages/nodes-base/credentials/SegmentApi.credentials.ts
agobrech 76f9ad8bae
N8N-4126 credentials injection and testing on specific nodes (#3816)
* Add credential injection and testing to Lemlist, Uproc, Supabase, Segment, Phantombuster, Mailgun and Dropcontact
2022-08-24 10:26:48 +02:00

29 lines
712 B
TypeScript

import {
ICredentialDataDecryptedObject,
ICredentialType,
IHttpRequestOptions,
INodeProperties,
} from 'n8n-workflow';
export class SegmentApi implements ICredentialType {
name = 'segmentApi';
displayName = 'Segment API';
documentationUrl = 'segment';
properties: INodeProperties[] = [
{
displayName: 'Write Key',
name: 'writekey',
type: 'string',
default: '',
},
];
async authenticate(
credentials: ICredentialDataDecryptedObject,
requestOptions: IHttpRequestOptions,
): Promise<IHttpRequestOptions> {
const base64Key = Buffer.from(`${credentials.writekey}:`).toString('base64');
requestOptions.headers!['Authorization'] = `Basic ${base64Key}`;
return requestOptions;
}
}