问题 仅使用JQuery更新Twitter(OAuth)


我们想向twitter发送一个JSON更新命令,但只使用JQuery,而不必去网络服务器并用PHP完成。

我无法理解的是如何在JQuery / JSON twitter API调用中发送用户凭据。我们的用户凭据来自Twitter的OAuth。

谢谢,干杯!


11634
2017-11-20 10:51


起源

使用服务器端语言执行此操作有什么问题? - meder omuraliev
它没有任何问题,我们让它为许多其他操作工作。我觉得使用100%jquery更安全。拥有更新twitter的PHP脚本可以被利用,因为它保存了我系统所有用户的身份验证信息。如果解决方案是100%客户端浏览器,则无法进行利用,因为只有用户才能访问其oauth凭据(它们位于浏览器的javasript中)。明白我的意思了吗? - Trident Splash


答案:


如果你这样做,你将不得不嵌入你的应用程序的密钥, 秘密(!),并将用户的令牌放入网页(然后将其暴露给用户)。我不认为这是个好主意。 (并且妥协的风险是相同的。)

这可能是大多数其他人的想法 - 但是有一个 Javascript OAuth库。但它并不打算在网站内部使用(跨域ajax限制),而是用于其他JS平台(如Chrome / Jetpack插件或Vista Sidebar小部件)。


10
2017-11-20 11:21



你是对的。忘记我们需要使用我们的应用程序密钥对Twitter API请求进行签名和加密。我无法在网页上公开这个密钥。 - Trident Splash
如果在webview中使用移动应用程序,用户将无法访问源代码... - Shereef Marzouk


我不是100%肯定,但我认为你需要一个服务器端脚本来通过twitter进行身份验证。

看看这个链接:

抖动

它是Jquery和Twitter的api实现(但是有一个PHP脚本来处理一些事情。)


2
2017-11-20 11:08



好解决方案!拥有一个返回OAuth令牌的PHP脚本。由于这些令牌仅在从我们的域名调用时起作用(因为它是在Twitter上注册的),因此它是100%安全的。 PHP不会更新任何内容,JQuery仅在我们的域上托管时才有效。 - Trident Splash


只是粘贴一些答案,我发现研究相同的问题:

至于速率限制(这就是我来到这里的原因):

Twitter官方回答:   @episod Taylor Singletary

REST API(api.twitter.com/1/*)接受每个身份验证   方法。当您使用身份验证时,它将从用户的费率中提取   限制。

Search API,其速率限制完全不同于   REST API,不使用OAuth或任何形式的授权。这是   你可能想要使用vanilla JSON-P请求的地方。

仅仅因为OAuth签名请求返回数据,并不意味着   请求是有效的OAuth。在我们可以认为无效的情况下   请求作为未经身份验证的请求,我们将为其提供服务。 19   周1天前回复

另一个Twitter 回答 关于jQuery和安全性。

至于Jitter,我认为它已经死了。


0