Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从服务器向客户端返回需要API密钥的对象?_Javascript_Security_Browser_Key_Server - Fatal编程技术网

Javascript 如何从服务器向客户端返回需要API密钥的对象?

Javascript 如何从服务器向客户端返回需要API密钥的对象?,javascript,security,browser,key,server,Javascript,Security,Browser,Key,Server,首先,我要说的是,我在安全领域确实缺乏经验,但我现在确实看到了我的一些代码中的一个大缺陷。总之,我正在客户端使用的API之一需要使用API密钥。在与他们注册/建立帐户时,他们会给你一个API密钥。作为客户端库,此api密钥用于创建对象,如下所示: if(!obj){ obj = new APIOBJ('asdjf9sdfs009a8sd0fasd'); // Key is given to you } 但是,客户可以清楚地访问这一点。我觉得这很糟糕,因为任何人都可以查看控制台,

首先,我要说的是,我在安全领域确实缺乏经验,但我现在确实看到了我的一些代码中的一个大缺陷。总之,我正在客户端使用的API之一需要使用API密钥。在与他们注册/建立帐户时,他们会给你一个API密钥。作为客户端库,此api密钥用于创建对象,如下所示:

  if(!obj){
    obj = new APIOBJ('asdjf9sdfs009a8sd0fasd'); // Key is given to you
  }
但是,客户可以清楚地访问这一点。我觉得这很糟糕,因为任何人都可以查看控制台,如果他们愿意,可以将其挖出来。如果我决定向服务器请求密钥,那也行不通,因为这样也只能看到密钥。所以我想,如果服务器可以发回对象供我使用,那么我就可以避免这个问题。因此,我的问题是:

  • 这是正确的方法吗
  • 如何做到这一点?(因为对我来说,这就像jQuery需要使用API键一样)
  • 谢谢

    编辑


    所讨论的API是Icecomm.io,它是WebRTC的包装器

    这个密钥是否随附了一个私钥供您在服务器端使用?不,只是一个要交给构造函数的字符串。那一定不是针对敏感数据的。是的,一点也不,只是我想,因为它对我来说是特定的,我不应该给出它。我想,除非它是某种通用密钥(非用户特定的)他们不想控制他们的API版本还是什么?API是什么?