【问题标题】:Zapier's JavaScript function "btoa" is not definedZapier 的 JavaScript 函数“btoa”未定义
【发布时间】: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)}]

【问题讨论】:

标签: javascript jwt zapier


【解决方案1】:

您可以使用以下内容:

var b64data = Buffer.from('this is my string to turn into base64').toString('base64');

Node.js 似乎不支持 atob()btoa() 方法。

【讨论】:

    猜你喜欢
    • 2018-02-16
    • 1970-01-01
    • 2014-05-30
    • 2019-12-25
    • 1970-01-01
    • 2011-05-21
    • 2017-06-06
    • 1970-01-01
    相关资源
    最近更新 更多