n8n/packages/core/src/OAuth2Helper.ts
कारतोफ्फेलस्क्रिप्ट™ a1b1f24ddf
feat(core): Replace client-oauth2 with an in-repo package (#6266)
Co-authored-by: Marcus <marcus@n8n.io>
2023-05-17 16:40:53 +02:00

23 lines
736 B
TypeScript

import type { ICredentialDataDecryptedObject } from 'n8n-workflow';
import type { ClientOAuth2, ClientOAuth2Options, ClientOAuth2Token } from '@n8n/client-oauth2';
export const getClientCredentialsToken = async (
oAuth2Client: ClientOAuth2,
credentials: ICredentialDataDecryptedObject,
): Promise<ClientOAuth2Token> => {
const options = {};
if (credentials.authentication === 'body') {
Object.assign(options, {
headers: {
// eslint-disable-next-line @typescript-eslint/naming-convention
Authorization: '',
},
body: {
client_id: credentials.clientId as string,
client_secret: credentials.clientSecret as string,
},
});
}
return oAuth2Client.credentials.getToken(options as ClientOAuth2Options);
};