在前面QQ互联稍微介绍过一下,这里进行详细介绍。
成为开发者
首先打开QQ互联官网https://connect.qq.com/index.html
点击注册,完善相关信息
完成开发者认证
在菜单上选择应用管理,进入后选择开发者认证,填写个人信息
创建网站应用
完成开发者认证后,选择创建网站应用(提醒:同一个域名不需要创建多个应用,添加回调域即可)
需要准备的资料主要有:
1、完成备案的域名
2、开发好的网站
3、服务器
做这步之前要先把网站大体开发好,同时部署到外网,有备案的域名,开放到80端口。
认证是一般选择添加一个腾讯提供的文件到网站根目录(验证开发者的权限)
特别注意:
回调域填写很重要、很重要、很重要(重要的事说三遍)
比如我的域名为www.baidu.com
那么网站域名输入框就填www.baidu.com
登陆回调页面假设为根目录下的logincallback.html,那么此时我的网站回调域就可以填http://www.baidu.com/logincallback.html(填http还是https得看网站类型)
假如二级域名也想接入登陆,二级域名为msg.baidu.com,同时登陆回调页面也为根目录下的logincallback.html,那么此时就需要修改域名回调域,添加一条记录http://msg.baidu.com/logincallback.html
至此,网站回调域应该为:http://www.baidu.com/logincallback.html;http://msg.baidu.com/logincallback.html
登陆页面配置
一般来说都是在登录页面上添加第三方登录链接的(QQ、微博、微信),所以登录页面需要做一些就修改
添加链接
<a class="btn btn-primary" href="https://graph.qq.com/oauth2.0/authorize?client_id=填写openid&response_type=token&scope=all&redirect_uri=填写回调地址"�>一键登录</a>
为了自定义开发,不采用官网推荐的写法,直接采用超链接方式。
回调页面配置
回调页面是网站回调域里面的一个页面,需要做以下几处修改。
导入js文件
<script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js" data-appid="这里填appid" data-redirecturi="这里填回调域对于地址" charset="utf-8"></script>
appid在QQ互联官网>应用管理下的具体应用下可以看到,回调域网址是当前页面的外网地址(当然得先在应用回调域里配好)
调用api
先调用api里获取用户信息(get_user_info)接口,然后在回调函数里调用获取登录信息方法(QC.Login.getMe),成功后容易取得用户信息(常见的字段有用户开放id:openid,昵称:nickname,性别:gender,头像:figureurl_qq_2,),更多信息可通过控制台查看相关数据。
完成数据获取后,对数据进行相关处理,然后提交给后台,完成登录。
结束语
QQ一键意义在于接入腾讯海量用户,减低网站注册门槛,实现社交关系的零成本引入和优质内容的快速传播。
记住密码功能有安全漏洞,主要表现为只提供openid就可以完成登录,这个在开发的时候要酌情考虑,采用恰当的方式来完成,提高安全性能。