本文记录实现网站第三方登录之QQ登录功能
一、准备
1、已备案域名
2、注册成为QQ互联开发者
二、具体操作流程
1、登录QQ互联,进入“应用管理”添加应用
2、点击创建应用进行创建
需要注意的地方:
(1)在创建应用之前需要先进行开发者信息的认证,点击右上角头像完成开发者信息认证的填写。提交审核一般几个工作日就能完成。本人完成的是个人认证。
(2)本人完成的是网站认证,故这里只说网站认证。网站访问的域名必须已备案(因为需要网站备案号);必须要有网站图标;回调地址填写到登录成功后需要跳转到的页面。
3、应用审核通过后查看应用就能得到APP ID和APP Key了(以上所有工作都是为了这两个参数)
4、实际登录功能的开发
(1)在html文件中引入jssdk文件(这里需要注意data-appid和data-redirecturi分别替换成认证完成后的appID和回调地址)
data-appid="XXXXXXXXX"
data-redirecturi="http://XXXXXXXXXXXX"
data-callback="true"
>
(2)放置QQ登陆按钮(这个有规定,自行了解)
QC.Login({
btnId:"qqLoginBtn"//插入按钮的节点id
});
到这里基础就完成了,是不是很简单。
下面的代码是为了便于查看具体登录成功后具体都能获取到什么,做了一些修改的代码:
logindata-appid="XXXXXXXXXXXXXXXXX"
data-redirecturi="http://XXXXXXXXXXXXXXXXX"
data-callback="true"
>
var cbLoginFun = function(oInfo, oOpts){
var div=$("#div");
var p=$("
p.text("-->oInfo
div.append(p);
var reg=/figureurl\w*/;
var imgDiv,imgSpan,img;
$.each(oInfo,function(key,value){
if(reg.test(key)&&key!="figureurl_type"){
imgDiv=$("
imgSpan=$("").text(key);
imgDiv.append(imgSpan);
img=$("").attr("src",value);
imgDiv.append(img);
div.append(imgDiv);
}else{
p=$("
p.text(key+"\t-->\t"+value);
div.append(p);
}
});
};
var loginOut=function(){
alert("login out successful...");
window.history.go(0);
}
QC.Login({
btnId:"qqLoginBtn"//插入按钮的节点id
},cbLoginFun,loginOut);
$("#exit").click(function(){
console.log("exit");
QC.Login.signOut(loginOut);
});
由于回调地址和我期望登录成功后跳转的页面是一个,所以我在退出之后直接读取了浏览器的历史。
注意:如果回调地址页与加入QQ登录按钮是同一个页面,则只需要引用一次脚本文件。(jssdk使用说明原话)
完。。。