技术

通过js sdk 来进行第三方登录及授权(微博,微信,qq)

2017-03-10  本文已影响7735人  Michelle_Lee

微博第三方登录及授权

注册申请appkey

1.打开微博开发者平台http://open.weibo.com/development
2.点击创建微链接
3.选择类型(选择网站接入)
4.填写各项信息,并把对应的meta复制并放在html的head内(一定要绑定域名并设置回调地址)
<meta property="wb:webmaster" content="xxxxxxx" />
5.在html内引入微博api(debug=true是调试模式,可以返回对应的信息)
<script type="text/javascript" src="http://tjs.sjs.sinajs.cn/open/api/js/wb.js?appkey=你的appkey&debug=true" charset="utf-8"></script>

编写js代码

if(WB2.checkLogin()){//检查是否已登录
    WB2.logout(function(){//退出登录方法
        //回调方法
    });
}
WB2.login(function(){//登录授权
    WB2.anyWhere(function(W){
        W.parseCMD('/account/get_uid.json',function(oResult1,bStatus){//获取用户uid
            if(bStatus){
                W.parseCMD('/users/show.json',function(oResult2,bStatus){//通过uid获取用户信息
                    if(bStatus){
                        var args = {
                            openid:oResult2.id,//获取用户openid
                            access_token:WB2.oauthData.access_token,//获取用户access_token
                            username:oResult2.name,//获取用户名
                            userHeadImg:oResult2.profile_image_url,//获取用户微博头像
                        }
                        //然后根据实际情况进行自己网站的一些认证处理
                    }
                },{uid:oResult1.uid},{method:'get',cache_time:30});
            }
        },{},{method:'get',cache_time:30});//默认是post请求方法
    });
});

QQ第三方登录及授权

注册申请id

1.打开腾讯开放平台http://open.qq.com/reg
2.填写各项信息获得appid和appkey
3.引入js文件
<script id="qq" type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js" data-appid="你自己的appid" charset="utf-8"></script>

编写js代码

if(QC.Login.check()){//检查是否已登录
    QC.Login.signOut();退出登录
}
QC.login({
    btnId:"",//插入按钮的节点id,必选,可为空字符串
    scope:"all",//用户需要确认的scope授权项,可选,默认all
    size: "A_XL"//按钮尺寸,可用值[A_XL| A_L| A_M| A_S|  B_M| B_S| C_S],可选,默认B_S
},function(reqData,opts){
    //登录成功回调方法
    QC.Login.getMe(function(openId,accessToken){
        var args = {
            openid:openId,
            userHeadImg:reqData.figureurl_qq_2,
            access_token:accessToken,
        };
    });
    QC.api('get_user_info',{}).success(function(userdata){
        //可以获得用户的各种相关信息,如用户昵称
        var username = userdata.data.nickname;
    });
},function(opts){
    //注销成功回调方法
});

微信第三方登录及授权

注册申请id

1.打开微信开放平台https://open.weixin.qq.com/cgi-bin/frame?t=home/web_tmpl&lang=zh_CN
2.填写各项信息并获得appid
3.由于微信是需要用手机扫二维码登录的,所以可以通过直接打开新窗口的方式来让用户去扫码登录,因此无需引用js相关文件

编写js代码

var path = 'http://www.xxxx.com';//登录后回调的地址
var appid = 'xxxxxxxxx';//注册申请的appid
window.open('https://open.weixin.qq.com/connect/qrconnect?appid='+appid+'&redirect_uri=path&response_type=code&scope=snsapi_login&state=STATE#wechat_redirect');//代开二维码页面,扫码成功后会回调到path地址
//然后可以通过地址栏得到code参数的值,可以通过code值来根据需要进行进一步的操作
上一篇下一篇

猜你喜欢

热点阅读