Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.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/jQuery中的安全Twitter OAuth身份验证(外加服务器端帮助程序)_Javascript_Jquery_Twitter_Oauth - Fatal编程技术网

JavaScript/jQuery中的安全Twitter OAuth身份验证(外加服务器端帮助程序)

JavaScript/jQuery中的安全Twitter OAuth身份验证(外加服务器端帮助程序),javascript,jquery,twitter,oauth,Javascript,Jquery,Twitter,Oauth,用JavaScript安全地进行Twitter OAuth身份验证的最佳方法是什么 我正试图编写一个程序,让用户分析他的Twitter使用情况和追随者/朋友。我已经编写了一个服务器端版本,它使用PythonTweepy模块工作 我想与大家分享,但我希望它能在浏览器中运行,而不是在我的小型服务器上运行 我看到另一个问题,其结果是它不被推荐,也不安全: 如果一个人在应用程序的JavaScript中发送消费者(应用程序)机密或访问(用户)机密,这是有意义的 但是为什么我不能像这里那样在服务器端构建U

用JavaScript安全地进行Twitter OAuth身份验证的最佳方法是什么

我正试图编写一个程序,让用户分析他的Twitter使用情况和追随者/朋友。我已经编写了一个服务器端版本,它使用PythonTweepy模块工作

我想与大家分享,但我希望它能在浏览器中运行,而不是在我的小型服务器上运行

我看到另一个问题,其结果是它不被推荐,也不安全:

如果一个人在应用程序的JavaScript中发送消费者(应用程序)机密或访问(用户)机密,这是有意义的

但是为什么我不能像这里那样在服务器端构建URL呢-

然后将身份验证URL发送回浏览器,类似于Twitter的“我的应用程序”页面上的OAuth工具(无效凭据)

获取和https%3A%2F%2Fapi.twitter.com%2F1%2F&GET%252Faccount%252f验证凭证\u json%3D%26oauth\u消费者密钥%GD0bgcgMU4MDwNfKQpLFQS3%26oauth\u nonce%3D24ad5049501dee1292afd8cf22307d68%26oauth\u签名\u方法%3DHMAC-SHA1%26oauth\u时间戳%3D1329173626%26oauth\u令牌%upxsbc3d28378282891kedq8oauth\u%1ked8oauth\u版本

然后让jQuery使用它来验证用户的凭据并运行分析

这是一项重要的工作,我不想这样做,然后发现它不起作用或是一种不安全的方法。(或者已经完成了)

安全吗?它似乎没有泄露任何秘密

这样行吗

对于jquerynoob进行身份验证的正确方法,是否有任何指针/示例,以及必要的授权:头和cookie/重定向处理


我觉得我错过了一些东西,或者是因为某种原因这不起作用,或者它应该已经存在于某个地方,但还没有找到它。非常感谢

问题是,McNuts先生,oAuth要求您传递消费者机密,因此即使您在服务器上构建URL,您仍会将其传递回网页,网页仍会通过HTTP代理公开您的消费者机密


为了防止泄露您的秘密,您需要使用代理来执行twitter身份验证请求,并将oauth令牌返回到浏览器。如果你真的担心规模,我会考虑像GAE或Heroku这样按规模付费的解决方案。

我不太理解你提出的方法。但一般来说,OAuth不能在浏览器客户端安全地实现(Java或Flash等安全封闭环境除外)。在Javascript上实现OAuth进程是完全可能的,但您将公开您的机密/消费者令牌。因此,任何人都可以用恶意来取代你的应用程序,比如窃取你用户的敏感数据。
如果您仍然想使用JS,我建议您使用Node.JS在服务器端实现安全过程(身份验证和最终令牌存储)

我认为拆分使用者密钥和使用者机密的意义在于您可以公开密钥,没有该机密,任何人都无法做任何事情。如果没有消费者机密,那么仅仅使用消费者密钥可以做什么?是的,你是对的。您的基本建议是让您的服务器使用您的消费者机密进行签名,然后将其传递回客户端。您可以这样做,但它的可扩展性并不比让服务器代表用户发出请求更高。是的,基本上我想代理身份验证,然后让浏览器执行一系列API调用。这将是几百次呼叫,直到节流极限。此外,它们在运行时会花费很长时间并占用资源。所以我真的不喜欢在服务器上做这件事,会增加几个数量级的负载。希望将URL或令牌传回浏览器,然后使用该URL或令牌使用jQuery或纯JavaScript进行API调用。您应该能够将令牌传回浏览器,并使其与twitter交互。你只需要代理auth。谢谢Alan-我认为可行且安全。。。现在,我只需要弄清楚在获得令牌后如何使用JS/jQuery格式化API调用。