javascript - JavaScript/jQuery 中的安全 Twitter OAuth 身份验证(加上服务器端助手)

标签 javascript jquery twitter oauth

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

我正在尝试编写一个程序让用户分析他的 Twitter 使用情况和关注者/ friend 。我已经编写了一个使用 python tweepy 模块工作的服务器端版本。

我想与人们分享它,但我希望它在浏览器中运行以实现可扩展性,而不是在我的小型服务器上运行。

我看到另一个问题,结果是不推荐也不安全: JavaScript OAuth sign in with Twitter

如果在应用的 JavaScript 中发送消费者(应用) secret 或访问(用户) secret ,这就有意义了。

但为什么我不能像这里一样在服务器端构建 URL - http://djangosnippets.org/snippets/1353/

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

GET&https%3A%2F%2Fapi.twitter.com%2F1%2F&get%252Faccount%252Fverify_credentials_json%3D%26oauth_consumer_key%GD0bgcgMU4MDwNfKQpLFQS3%26oauth_nonce%3D24ad5049501dee1292afd8cf22307d68%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1329173626%26oauth_token%uPUpxsBc3D283768289LtQ6R1Ez1KeD8DOSsm5XpqJaKI28ysYh%26oauth_version%3D1 .0

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

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

这样安全吗?它似乎没有暴露任何 secret 。

那行得通吗?

关于为 jQuery noob 进行身份验证的正确方法的任何指针/示例,以及必要的授权: header 和 cookie/重定向处理?

我觉得我遗漏了一些东西,或者这是行不通的原因,或者它应该已经存在于某个地方,但还没有找到。非常感谢!

最佳答案

McNuts 先生,问题在于 oAuth 要求您传递您的消费者 secret ,因此即使您在服务器上构建 URL,您仍然会将其传回网页,这仍然会暴露您的消费者通过 HTTP 代理保密。

为防止泄露您的 secret ,您需要使用代理来执行 Twitter 身份验证请求,并将 oauth token 返回给浏览器。如果您真的担心规模问题,我会考虑按规模付费的解决方案,例如 GAE 或 Heroku。

关于javascript - JavaScript/jQuery 中的安全 Twitter OAuth 身份验证(加上服务器端助手),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9269810/

相关文章:

javascript - 解析错误代码 121

javascript - 由于右括号导致 PHP substr() 风格困惑

javascript - 如何在asp.net中通过javascript从另一个网站获取内容?

php - HTML通过JSON输出,通过ajax激活

ios - 解析推特 : How to Logout from twitter on ios application

javascript - 子状态不等待父解决

javascript - 如何只滚动 iframe 而不是它的父级?

javascript - 如何隐藏 highchart x - 轴数据值

python - 通过 Python 脚本自动将图像发布到我的 Twitter 帐户的代码

来自 Twitter REST API 的 Twitter 链接计数