diff --git a/src/auth/getAccessTokenForViya.ts b/src/auth/getAccessTokenForViya.ts index d4f97a8..dd4993d 100644 --- a/src/auth/getAccessTokenForViya.ts +++ b/src/auth/getAccessTokenForViya.ts @@ -1,6 +1,5 @@ import { SasAuthResponse } from '@sasjs/utils/types' import { prefixMessage } from '@sasjs/utils/error' -import * as NodeFormData from 'form-data' import { RequestClient } from '../request/RequestClient' /** @@ -24,26 +23,17 @@ export async function getAccessTokenForViya( token = Buffer.from(clientId + ':' + clientSecret).toString('base64') } const headers = { - Authorization: 'Basic ' + token + Authorization: 'Basic ' + token, + Accept: 'application/json' } - let formData - if (typeof FormData === 'undefined') { - formData = new NodeFormData() - } else { - formData = new FormData() - } - formData.append('grant_type', 'authorization_code') - formData.append('code', authCode) + const data = new URLSearchParams({ + grant_type: 'authorization_code', + code: authCode + }) const authResponse = await requestClient - .post( - url, - formData, - undefined, - 'multipart/form-data; boundary=' + (formData as any)._boundary, - headers - ) + .post(url, data, undefined, 'application/x-www-form-urlencoded', headers) .then((res) => res.result as SasAuthResponse) .catch((err) => { throw prefixMessage(err, 'Error while getting access token. ') diff --git a/src/auth/spec/getAccessTokenForViya.spec.ts b/src/auth/spec/getAccessTokenForViya.spec.ts index a04f7ed..945485c 100644 --- a/src/auth/spec/getAccessTokenForViya.spec.ts +++ b/src/auth/spec/getAccessTokenForViya.spec.ts @@ -35,11 +35,12 @@ describe('getAccessTokenForViya', () => { expect(requestClient.post).toHaveBeenCalledWith( '/SASLogon/oauth/token', - expect.any(NodeFormData), + expect.any(URLSearchParams), undefined, - expect.stringContaining('multipart/form-data; boundary='), + 'application/x-www-form-urlencoded', { - Authorization: 'Basic ' + token + Authorization: 'Basic ' + token, + Accept: 'application/json' } ) })