【发布时间】:2020-10-11 12:13:26
【问题描述】:
我正在尝试利用现有的 sample code 为 PassKit 创建一个带有“由 Zapier 运行 JavaSript”的 JWT 令牌。但是 Zapier 不识别 btoa 功能。
ReferenceError: btoa 未定义
根据这个网站,可以直接调用这个函数。有什么想法吗?
var b64data = btoa("this is my string to turn into base64");
下面是我写的代码。
var Zap = {
base64url:function(input){
var base64String = btoa(input); //<--error here
return urlConvertBase64(base64String);
},
urlConvertBase64:function(input){
var output = input.replace(/=+$/, '');
output = output.replace(/\+/g, '-');
output = output.replace(/\//g, '_');
return output;
},
generateJWT:function(key){
var header = {
"alg": "HS256",
"typ": "JWT"
};
var time_now = Math.floor(new Date().getTime()/1000);
var exp = time_now + 30;
var body = {
"exp": exp,
"key": key
};
var token = [];
token[0] = Zap.base64url(JSON.stringify(header));
return body;
}
};
output = [{body: Zap.generateJWT(inputData.Api_key)}]
【问题讨论】:
-
这能回答你的问题吗? Node.js throws "btoa is not defined" error
标签: javascript jwt zapier