JavaScript OAuth 使用 Twitter 登录
Posted
技术标签:
【中文标题】JavaScript OAuth 使用 Twitter 登录【英文标题】:JavaScript OAuth sign in with Twitter 【发布时间】:2011-01-29 01:35:47 【问题描述】:我必须将 Sign-in-with Twitter 集成到我的应用程序中,如下所示。 https://dev.twitter.com/docs/auth/sign-twitter 它是用 javascript 开发的基于浏览器的应用程序 我一直在参考谷歌代码 java 脚本 OAuth,但我很困惑如何使用 oauth/authenticate 以及如何获取 oauth_token
谁能帮我提供一些样品?
【问题讨论】:
您是否在 Twitter 网站上查看过有关使用 oauth_token 的文档? apiwiki.twitter.com/… 所有链接都失效了。 twitter 的文档很烂。为什么这么难做到这一点?它应该很简单 【参考方案1】:由于我在寻找相同的东西,尽量不使用自定义 php 解决方案,我在http://www.fullondesign.co.uk/coding/2516-how-use-twitter-oauth-1-1-javascriptjquery.htm 遇到了这个非常简单的集成,它使用一个 PHP 代理,它接受你想从中检索的任何 twitter api 调用你的 javascript ..
我一定会看的
【讨论】:
嗨,我也想过用代理来隐藏秘密。你试过这个解决方案吗?它仍在使用当前的 twitter API 吗?有限制吗?【参考方案2】:查看 Twitter @Anywhere JSDK authComplete
和 signOut
事件和回调https://dev.twitter.com/docs/anywhere/welcome#login-signup
twttr.anywhere(function (T)
T.bind("authComplete", function (e, user)
// triggered when auth completed successfully
);
T.bind("signOut", function (e)
// triggered when user logs out
);
);
【讨论】:
Potinch,三个月前我做到了,并且工作得很好,但我知道 Twitter 是 sunsetting Anywhere,而这个出色的 JavaScript API 将不再可用。我阅读了新文档,发现没有友好的 Javascript API,我发现的唯一信息是 do it yourself。你知道现在 Anywhere 将被弃用的方法是什么吗?谢谢! 感谢@fernaramburu 引起我的注意!我正在调查它 - 目前很难说,因为您似乎必须推出自己的解决方案(后端和前端)来提供诸如“authComplete”和“signOut”之类的事件。会回复你...【参考方案3】:问题在于,查看您页面的任何人现在也可以查看您的消费者密钥和秘密,这些密钥和秘密必须保密。
现在,有人可以编写一个应用程序,使用您的应用程序凭据并做一些淘气和坏事,以至于 twitter 和用户禁止您,而您无能为力。
Twitter 确实声明,必须尽一切可能将这些值保密以避免这种情况发生
很遗憾,目前无法在基于浏览器的 JavaScript 中安全地使用 oAuth。
【讨论】:
我在 Twitter 工作的朋友证实了这一点。可以做到,但不赞成……显然。 @Dan 我可以使用不安全的 Twitter OAuth 方式【参考方案4】:在 consumer.js 中使用以下代码并在 index.html 下拉列表中选择示例提供者
consumer.example =
consumerKey : "your_app_key"
, consumerSecret: "your_app_secret"
, serviceProvider:
signatureMethod : "HMAC-SHA1"
, requestTokenURL : "https://twitter.com/oauth/request_token"
, userAuthorizationURL: "https://twitter.com/oauth/authorize"
, accessTokenURL : "https://twitter.com/oauth/access_token"
, echoURL : "http://localhost/oauth-provider/echo"
;
【讨论】:
以上是关于JavaScript OAuth 使用 Twitter 登录的主要内容,如果未能解决你的问题,请参考以下文章
使用 OAuth 和 javascript 的应用程序 [关闭]
JavaScript OAuth 使用 Twitter 登录
如何使用 Oauth2 和 javascript 客户端(Spring Oauth2 + Angularjs)实现长期登录会话