Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.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 我们可以直接从浏览器调用twitter API吗?_Javascript_Security_Twitter_Oauth - Fatal编程技术网

Javascript 我们可以直接从浏览器调用twitter API吗?

Javascript 我们可以直接从浏览器调用twitter API吗?,javascript,security,twitter,oauth,Javascript,Security,Twitter,Oauth,我看到TwitterRESTAPI需要一个复杂的oauth头,建议在服务器端调用它 这就是我想知道的,我是否可以用JavaScript从浏览器中调用这些RESTAPI 据我所知,twitter的OAuth头需要签名,该签名必须使用consumer secret(而非app secret)签名 我想知道在客户端是否有我可以做的事情? 如果我在我的网站上公开消费者的秘密(不是应用程序的秘密),那会有什么问题呢?或者,如果您使用Chrome浏览器作为客户端,是否有一种方法可以在头中不使用oauth_签

我看到TwitterRESTAPI需要一个复杂的oauth头,建议在服务器端调用它

这就是我想知道的,我是否可以用JavaScript从浏览器中调用这些RESTAPI

据我所知,twitter的OAuth头需要签名,该签名必须使用consumer secret(而非app secret)签名

我想知道在客户端是否有我可以做的事情?
如果我在我的网站上公开消费者的秘密(不是应用程序的秘密),那会有什么问题呢?或者,如果您使用Chrome浏览器作为客户端,是否有一种方法可以在头中不使用oauth_签名来调用这些API,这将允许您使用浏览器作为客户端来构造REST请求。也就是说,如果您希望从站点上的客户端javascript(听起来像是这样)进行REST调用,我建议您不要这样做。提供API密钥将允许任何有能力使用view source凭据的人执行您授予API密钥权限的任何操作,同时看起来像您。在99%的情况下,这是一个严重的安全问题。@Actorclavilis正如我所说的,在twitter中有消费者秘密,而不是应用秘密。这是一个不同的密钥,所以我不确定它会导致什么安全问题。我肯定不会让应用程序的秘密存在于客户端。但对于《消费者秘密》一书,我受到了拇指的诱惑:如果任何东西是“秘密”,它就永远不应该出现在公共领域。您可以使用诸如或AWS Lambda之类的服务快速构建和部署服务器端。@按照规则,Abhishrek肯定会声明,如果没有性能和成本,我不想做不必要的安全性(Lambda实际上不是免费的,它会微妙地使您的所有数据传输成本增加)