Ste*_*n K 5 javascript wordpress gravity-forms-plugin vuejs2 gravityforms
我正在考虑将 VueJS 项目与 Gravity Forms 集成,但是我不知道如何通过 VueJS 项目的 API 触发 GF 加密要求?
如下所述,在附加值并将其发送到 GF API 之前,需要首先计算签名。
function CalculateSig(stringToSign, privateKey){
//calculate the signature needed for authentication
var hash = CryptoJS.HmacSHA1(stringToSign, privateKey);
var base64 = hash.toString(CryptoJS.enc.Base64);
return encodeURIComponent(base64);
}
//set variables
var d = new Date;
var expiration = 3600; // 1 hour,
var unixtime = parseInt(d.getTime() / 1000);
var future_unixtime = unixtime + expiration;
var publicKey = "KEY HERE";
var privateKey = "KEY HERE";
var method = "POST";
var route = "forms/2/submissions";
stringToSign = publicKey + ":" + method + ":" + route + ":" + future_unixtime;
sig = CalculateSig(stringToSign, privateKey);
var url = 'http://stephenkempin.co.uk/vuejs/gravityformsapi/' + route + '?api_key=' + publicKey + '&signature=' + sig + '&expires=' + future_unixtime;
var values = {input_values : {
input_1 : 'Name',
input_2 : 'This is surname',
input_5 : 'email@Address.com',
input_4 : 'Message testing'
}
}
Run Code Online (Sandbox Code Playgroud)
小智 1
您应该有一个可以为您发出 API 请求的服务器。不要将其放在公开的 FE 代码中,因为公众很容易查看它。
安全的方法是:
FrontEnd VueJS 项目 -> 向您的服务器(后端)发出 API 请求 -> 使用私钥向 Gravity Forms 发出 API 请求。
| 归档时间: |
|
| 查看次数: |
1178 次 |
| 最近记录: |