【发布时间】:2017-08-03 14:33:32
【问题描述】:
我正在尝试与 Zendesk 进行 API 集成。我有很多问题。您可以在下面看到我迄今为止提出的问题:
How to pass an access token in an ajax call
ZenDesk API ticket submission using Javascript - authorization
现在好消息 - 我已经在表面上工作了。但是我的 API 密钥在客户端 Javascript 中是公开的,我需要想办法隐藏它。这是目前我的代码的样子:
$.ajax({
type: 'post',
url: 'https://domain.zendesk.com/api/v2/tickets.json',
data: {
"ticket": {
"subject": "new contact from " + contactEmail,
"comment": {
"body": contactFirstName + ' ' + contactLastName + ' ' + 'says: ' + contactMessage + contactEmail
}
}
},
beforeSend : function(xhr) {
xhr.setRequestHeader( 'Authorization', 'BEARER (my key is here)' );
},
success: function(response) {
console.log(response);
},
error : function(error) {
console.log(error);
}
console.log('support ticket sent');
});
我的研究使我获得了以下资源:
How to Hide an API Key in Client-Side Javascript
http://billpatrianakos.me/blog/2016/02/15/securing-api-keys-in-a-javascript-single-page-app/
Using JS/PHP/JS to hide API key
他们都认为这应该在服务器端处理。但是,我找不到任何关于如何做到这一点的明确教程。有人可以给我一个关于如何开始的想法吗?被这个卡住了一个多星期。
【问题讨论】:
-
不要将您的 API 密钥放在客户端附近的任何地方。在您的 PHP 中向 Zendesk 发出请求,并让您的 AJAX 调用 PHP。
-
将您的帖子发布到 PHP 脚本,然后让 PHP 脚本(使用 CURL)使用 api 密钥等将信息发送到 zendesk。
-
@SchalkKeun 好的,让我试试...我会用结果更新我的答案
标签: javascript php jquery ajax api