我正在嘗試與Zendesk進行API集成。我遇到很多問題。你可以看到,我問這個問題,因此下面迄今爲止問題:從客戶端隱藏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
他們都有着setiment這應該在服務器端處理。但是,我無法找到關於如何做到這一點的任何明確的教程。有人能給我一個關於如何開始的想法嗎?一直持續了一個多星期。
請勿將您的API密鑰放在客戶端附近的任何位置。在您的PHP中請求Zendesk,並讓您的AJAX調用PHP。 –
將您的文章發佈到PHP腳本,然後讓PHP腳本(使用CURL)將信息通過api鍵等發送給zendesk。 –
@SchalkKeun好的,讓我試試這個...我會用結果更新我的答案 – kawnah