1
0
mirror of https://github.com/sasjs/adapter.git synced 2025-12-11 01:14:36 +00:00

fix(refreshTokensForViya): fixed FormData logic

This commit is contained in:
Yury Shkoda
2023-04-20 16:13:22 +03:00
parent 7d37e4d79d
commit a71d422528
2 changed files with 6 additions and 4 deletions

View File

@@ -29,9 +29,12 @@ export async function getTokens(
const error =
'Unable to obtain new access token. Your refresh token has expired.'
logger.error(error)
throw new Error(error)
}
logger.info('Refreshing access and refresh tokens.')
const tokens =
serverType === ServerType.SasViya
? await refreshTokensForViya(

View File

@@ -2,6 +2,7 @@ import { SasAuthResponse } from '@sasjs/utils/types'
import { prefixMessage } from '@sasjs/utils/error'
import * as NodeFormData from 'form-data'
import { RequestClient } from '../request/RequestClient'
import { isNode } from '../utils'
/**
* Exchanges the refresh token for an access token for the given client.
@@ -17,8 +18,7 @@ export async function refreshTokensForViya(
refreshToken: string
) {
const url = '/SASLogon/oauth/token'
let token
token =
const token =
typeof Buffer === 'undefined'
? btoa(clientId + ':' + clientSecret)
: Buffer.from(clientId + ':' + clientSecret).toString('base64')
@@ -27,8 +27,7 @@ export async function refreshTokensForViya(
Authorization: 'Basic ' + token
}
const formData =
typeof FormData === 'undefined' ? new NodeFormData() : new FormData()
const formData = isNode() ? new NodeFormData() : new FormData()
formData.append('grant_type', 'refresh_token')
formData.append('refresh_token', refreshToken)