"Re-Auth" on token expiration
import {Rest, requestAccessToken} from 'ts-force';
import createAuthRefreshInterceptor from 'axios-auth-refresh';
async function getToken(){
return await requestAccessToken({
grant_type: 'password',
instanceUrl: process.env.HOST,
client_id: process.env.CLIENT_ID,
client_secret: process.env.CLIENT_SECRET,
username: process.env.USERNAME,
password: process.env.PASSWORD,
});
}
const restInstance = new Rest(await getToken());
const refreshAuthLogic = async (failedRequest: any) => {
const newToken = await getToken();
const newAuthHeader = 'Bearer ' + newToken.accessToken;
failedRequest.response.config.headers['Authorization'] = newAuthHeader;
//also update our instance so any additional request use the new token
restInstance.request.defaults.headers['Authorization'] = newAuthHeader;
};
createAuthRefreshInterceptor(restInstance.request, refreshAuthLogic);Last updated
Was this helpful?