VueJS + API Gravity Forms

Я смотрю на интеграцию проекта VueJS с Gravity Forms, однако я не знаю, как вызвать шифрование GF, требуемое их API от проекта VueJS?

Как указано ниже, подпись должна быть рассчитана в первую очередь, прежде чем значения будут прикреплены и отправлены в 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'
                        }

    }

1 ответ

У вас должен быть сервер, который сделает запрос API для вас. Не помещайте это в открытый код FE, так как он легко просматривается публикой.

Безопасный способ сделать это будет:

Проект FrontEnd VueJS -> сделать запрос API к вашему серверу (бэкэнд) -> сделать запрос API к Gravity Forms, используя закрытый ключ.

Другие вопросы по тегам