Javascript 从客户端隐藏API密钥

Javascript 从客户端隐藏API密钥,javascript,php,jquery,ajax,api,Javascript,Php,Jquery,Ajax,Api,我正在尝试与Zendesk进行API集成。我有很多问题。到目前为止,你可以在下面看到我提出的问题: 好消息是,我已经让它在表面上工作了。然而,我的API密钥在客户端Javascript中是公开的,我需要找出隐藏它的方法。这就是我的代码当前的样子: $.ajax({ type: 'post', url: 'https://domain.zendesk.com/api/v2/tickets.json', data: { "tic

我正在尝试与Zendesk进行API集成。我有很多问题。到目前为止,你可以在下面看到我提出的问题:

好消息是,我已经让它在表面上工作了。然而,我的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');
      });
我的研究使我获得了以下资源:


它们都共享一个设置,这个设置应该在服务器端处理。但是,我找不到任何关于如何做到这一点的清晰教程。有人能告诉我怎么开始吗?这件事已经拖了一个多星期了

正如一些人所提到的,您唯一能做的就是将PHP文件作为中间件联系。因此,您请求一个PHP文件并发送一个cURL请求

客户端应用程序的问题是,客户端可以读取所有内容。因此,您只有一种方法可以使用PHP进行中间步骤


最好是等待cURL响应并将响应返回给客户端。

不要将API密钥放在客户端附近。在PHP中向Zendesk发出请求,并让AJAX调用PHP。将帖子发送到PHP脚本,然后让PHP脚本(使用CURL)使用api键等将信息发送到Zendesk@schalkeun ok让我试试……我会用结果更新我的答案