const crypto = require('crypto');
const base64url = require('base64url');
const date = Math.floor(Date.now()/1000);
let header = {
"alg": "RS256",
"typ": "JWT"
};
let payload = {
"iss": "",
"sub": "",
"scope": "https://www.googleapis.com/auth/adwords",
"aud": "https://oauth2.googleapis.com/token",
"exp": date + 3600,
"iat": date
};
let encodedHeader = base64url.encode(JSON.stringify(header));
let encodedPayload = base64url.encode(JSON.stringify(payload));
let signatureInput = `${encodedHeader}.${encodedPayload}`;
let privateKey = ‘’;
let signer = crypto.createSign('RSA-SHA256');
signer.update(signatureInput);
let signature = base64url.fromBase64(signer.sign(privateKey, 'base64'));
let jwt = `${encodedHeader}.${encodedPayload}.${signature}`;
console.log(jwt);
const crypto = require('crypto');
const base64url = require('base64url');
const date = Math.floor(Date.now()/1000);
let header = {
"alg": "RS256",
"typ": "JWT"
};
let payload = {
"iss": "",
"sub": "",
"scope": "https://www.googleapis.com/auth/adwords",
"aud": "https://oauth2.googleapis.com/token",
"exp": date + 3600,
"iat": date
};
let encodedHeader = base64url.encode(JSON.stringify(header));
let encodedPayload = base64url.encode(JSON.stringify(payload));
let signatureInput = `${encodedHeader}.${encodedPayload}`;
let privateKey = ‘’;
let signer = crypto.createSign('RSA-SHA256');
signer.update(signatureInput);
let signature = base64url.fromBase64(signer.sign(privateKey, 'base64'));
let jwt = `${encodedHeader}.${encodedPayload}.${signature}`;
console.log(jwt);