回答
如果你查看twitter的API文档,你可以看到如何做登录。
我认为你的问题是如何插入一个类似于facebook的登录插件,但我认为他们没有任何图书馆。
当用户点击该按钮,洛则必须发送POST请求到Twitter要获取的oauth_token: 例子:POST请求“api.twitter.com/oauth/request_token”
然后,Twitter提供你的oauth_token和oauth_token_secret(私人)。
一旦你完成了这一步,你必须将用户重定向到Twitter。 例如:Get请求“api.twitter.com/oauth/authenticate?oauth_token=YOUR_OAUTH_TOKEN_GIVEN_IN_STEP_1”
如果一切都已经与组oauth_token和验证的OAuth令牌顺利Twitter的回应你。
让我们设置最后一步!
使用步骤2的响应中提供的验证器oauth标记向twitter api端点发送发布请求。 示例:发送验证器oauth标记作为post参数的“api.twitter.com/oauth/access_token”POST请求。
然后用一个秘密令牌和用户令牌的twitter响应,您可以保存它并随意在任何twitter端点中使用它。
登录文档:https://dev.twitter.com/web/sign-in/implementing 浏览器的验证流程:https://dev.twitter.com/web/sign-in/desktop-browser
商祺!
得到'而POST请求auth_token'什么是与API一起传递的参数吗? –
是和否。
如果您只想使用浏览器客户端JavaScript来完成此操作,那么这是不可能的,因为Twitter不允许跨站点请求。
浏览器在沙盒环境中执行JavaScript代码,它不允许您向其他域请求您的请求,除非第三方域明确允许。这就是所谓的Http Access Control (CORS)
但是,Twitter API当然可以被JavaScript应用程序使用,该应用程序并未在浏览器中运行。
所以,如果你想要这个功能,为您的网站,你想它只是JavaScript代码,你会写你的网站后端的API或的NodeJS使用像@RationalDev其他第三方服务建议
如果您的意思是客户端上只有JavaScript和HTML,则有一些第三方库。
Auth0很受欢迎,并有instructions for Twitter。
另一个可能的解决方案是使用Firebase身份验证。它有一个JavaScript API which can be used as follows:
创建Twitter的提供者对象的一个实例:
var provider = new firebase.auth.TwitterAuthProvider();
身份验证使用Twitter的提供对象火力地堡。您可以提示您的用户使用其Twitter帐户登录,方法是打开弹出窗口或重定向到登录页面。
在两者之间会使用一个3d方认证服务(因为不可能),你必须给你的twitter api机密,但是我把它投票,因为它基本上允许做OP的任务。 –
感谢不知道谷歌有这个平台“firebase”btw这应该被接受的答案。 – zaw
你需要后端代码也还是只从客户端意味着 – arisalexis
@arisalexis不,我只是想填表电子邮件,姓名等 –
passport.js是最简单的选项IMO – arisalexis