Twitter 第三方登录 (JavaScript SDK)

1.在Twitter开发者平台注册自己的应用;注册成功会得到appkey和API Secret。

 注册地址 : https://apps.twitter.com

 注意:Callback URL 必填,否则闪退,可填一级域名;

  

2.在https://auth-server.herokuapp.com/登录自己的Twitter账号;然后新建一个项目把在Twitter开发者平台注册得到的appkey和API Secret设置到这个项目中,注意一个appkey和API Secret只能设置一个域名,reference描述(举个例子如你的项目叫百度,那就写个百度),domain就是项目域名(主域名);grant_url填 "https://api.twitter.com/oauth/access_token"。如果没在这个网址注册你的项目的话,点击后Twitter将闪退。

3.在页面引入Twitter所需的js。 http://adodson.com/hello.js/dist/hello.all.js

window.twttr = (function(d, s, id) {
     var js, fjs = d.getElementsByTagName(s)[0],
      t = window.twttr || {};
      if (d.getElementById(id)) return t;
      js = d.createElement(s);
      js.id = id;
      js.src = "https://platform.twitter.com/widgets.js";
      fjs.parentNode.insertBefore(js, fjs);

      t._e = [];
      t.ready = function(f) {
          t._e.push(f);
      };

      return t;
}(document, "script", "twitter-wjs"));

4.在页面上声明一个Twitter登录的button并监听登录事件。

<button class="twBtn" onclick = "login_twitter('twitter')" ></button>

5.初始化Twitter登录并定义login_twitter登录方法。

    var log = console.log;
  hello.init(
    {        'twitter' : '***************'},    //App_key
    { oauth_proxy: 'https://auth-server.herokuapp.com/proxy' });
        function login_twitter(network){  //登录方法,并将twitter 作为参数传入
            // Twitter instance
            var twitter = hello(network);
            // Login
            twitter.login().then( function(r){
                // Get Profile
                return twitter.api('/me');
            }, log ) .then( function(p){

                console.dir(p);
                //已获取用户信息,在此处理
                 
                    var response = {'id':p.id,'first_name':p.name,'last_name':p.last_name,'picture':p.thumbnail,'link':'https://twitter.com/'+p.screen_name,'login_type':'twitter'};
                console.dir(response);

            }, log );
        }
原文地址:https://www.cnblogs.com/lishalom/p/6393956.html