腾讯QQ授权登录(asp.net + angular)

在前面QQ互联稍微介绍过一下,这里进行详细介绍。


成为开发者

首先打开QQ互联官网https://connect.qq.com/index.html

点击注册,完善相关信息

13908708-0c0159e4625936c0.png
QQ互联





完成开发者认证

在菜单上选择应用管理,进入后选择开发者认证,填写个人信息

13908708-c8bb3d65d155cf4d.png
实名认证





创建网站应用

完成开发者认证后,选择创建网站应用(提醒:同一个域名不需要创建多个应用,添加回调域即可)

13908708-10f4038e96dd45c7.png
创建网站应用(PC和H5)


需要准备的资料主要有:

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

13908708-e186b60f72e6d30b.png
调起QQ登陆


先调用api里获取用户信息(get_user_info)接口,然后在回调函数里调用获取登录信息方法(QC.Login.getMe),成功后容易取得用户信息(常见的字段有用户开放id:openid,昵称:nickname,性别:gender,头像:figureurl_qq_2,),更多信息可通过控制台查看相关数据。

完成数据获取后,对数据进行相关处理,然后提交给后台,完成登录。



结束语

QQ一键意义在于接入腾讯海量用户,减低网站注册门槛,实现社交关系的零成本引入和优质内容的快速传播。

记住密码功能有安全漏洞,主要表现为只提供openid就可以完成登录,这个在开发的时候要酌情考虑,采用恰当的方式来完成,提高安全性能。

注意: 不需要很多的类库 全部下来只有三个文件 。一个类库和两个前台页面,你将类库放到AppCode下面。然后将账号绑定那一块注释掉就行了,或者将账号绑定部分换成你自己系统的。就可以了。程序报错可能是因为我在绑定账号那里用到了别的类,你注释掉就行了 ------------------------------------------------------------ 经过两天的努力 已经成功将QQ登录集成到了 城记网 上。感谢腾讯提供的帮助文档,和关键时刻给的技术支持。我的网站是asp.net的,有需要的网友可以联系我。 呵呵。(尽管是垃圾站,只要你愿意,又有什么关系呢?) QQ Oauth 只提供PHP的接入demo ,针对 ASP.net 的只有一个网友开发的SDK包,下载地址还老打不开,后来我从优快云上下载了一个,看了以后感觉太复杂了,我个人感觉做这么个小事情不需要搞个SDK出来,不如自己按帮助文档去,这样自己的方法灵活性就高一些,于是就按文档学习开发。其实文档得很清晰,耐心一看就明白了。 不讲太多的郁闷的过程了,直接说解决办法。 办这个事情主要要知道下面几个事情。 两个重点(如下): 第一个重点:请求Token的步骤, 1:请求未授权的临时token。请求成功以后会转到QQ登录页面。 2:请求已授权的临时token。登陆成功以后获得。 3:请求已授权的Access token。 第二个重点:签名的算法。 签名的值计算有一个指定的规则,请参考腾讯开放社区帮助文档,这是最 好的资料。 注意点: 没有申请APPID和APPKEY的先去申请。 传递的每一参数都要URLENcode,注意是每一个,包括动态生成的签名。    参数之间是有顺序的,是升序排列的,无论有多少个,都要排序。    各个步骤之间是有关联的,下一步的提交往往需要上一步的返回参数。 我采取的文档结构: 总共三个文件 ,非常简单。 一个放在APPcode下面的类。用来发送请求和接待参数。 两个前台页面,主要是对类的调用。 下面把类的代码完全贴出,你知要一看见类,就知道怎么前台页面了,很简单
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值