import { Rest, requestAccessToken } from 'ts-force';
import * as jwt from 'jsonwebtoken';
const instanceUrl = 'https://login.salesforce.com';
const options: jwt.SignOptions = {
issuer: process.env.CLIENT_ID,
audience: instanceUrl,
expiresIn: 3,
algorithm: 'RS256'
}
const assertion = jwt.sign(
{ prn: process.env.USER_NAME },
process.env.PRIVATE_KEY,
options
);
const resp = await requestAccessToken({
grant_type: 'urn:ietf:params:oauth:grant-type:jwt-bearer',
instanceUrl,
assertion
});
const restInstance = new Rest(resp);