Javascript 在googleapps脚本中解码JWT
我正在尝试使用以下函数解码JSON Web令牌:Javascript 在googleapps脚本中解码JWT,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我正在尝试使用以下函数解码JSON Web令牌: function parseJwt(token) { var base64Url = token.split('.')[1]; var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/'); var jsonPayload = decodeURIComponent(atob(base64).split('').map(function(c) { r
function parseJwt(token) {
var base64Url = token.split('.')[1];
var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
var jsonPayload = decodeURIComponent(atob(base64).split('').map(function(c) {
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
}).join(''));
return JSON.parse(jsonPayload);
};
这在我的Google Chrome控制台中运行良好,但当我尝试在Google脚本中使用它时,它会说“atob未定义”。I,对64位编码字符串进行解码。但是当我使用它时,它会生成一个数组而不是一个字符串。我如何重现阿托布的行为?或者有其他方法来解码JWT吗?我找到了如何从
这回答了你的问题吗?
function parseJwt(token) {
let body = token.split('.')[1];
let decoded = Utilities.newBlob(Utilities.base64Decode(body)).getDataAsString();
return JSON.parse(decoded);
};