您现在的位置是:首页 > 动态 > 正文
webqq账号登录 网站接入QQ登录功能)
发布时间:2024-01-09 02:36:16编辑:湛家阅来源:
最新动态,我是华网在线网程程来为大家解答以上问题,webqq账号登录,网站接入QQ登录功能)很多人还不知道,现在让我们一起来看看吧!
原文链接:网站接入QQ登录功能说明,我来为大家讲解一下关于webqq账号登录?跟着小编一起来看一看吧!
webqq账号登录
原文链接:网站接入QQ登录功能
说明
本文中所说的QQ登录功能,是采用官方的OAuth2.0来实现的,这样有更多的自主权。另一种较为简单的JS-SDK开发方式,虽然非常简便,但自主性不够,所以没有采用。
下文中所构造的URL,均使用了JavaScript的ES6语法。
注册开发者
先登录QQ互联官网,登录时所用的QQ号会和相关信息绑定,这一点要注意。
登录之后点击顶部导航栏右侧自己的QQ头像,进入开发者的注册/认证界面。
这里可以选择以“公司”或“个人”的身份注册为开发者。自己最开始用的是公司的相关资料来注册的,但总是提示审核失败,却又不说为什么失败,最后干脆用个人信息注册,很快就成功了。
PS:不知道用个人信息注册为开发者的话,权限方面会不会有什么限制。微信公众平台对个人开发者是有限制的,个人身份注册的公众号无法认证,公众平台的部分权限也无法调用。
创建网站应用
要想让网站能够使用QQ登录功能,就必须先在QQ互联中创建网站应用。
在QQ互联网站顶部导航栏上,点击应用管理。点击页面中的网站应用这个标签,再点击创建应用,按照要求填写相关的信息即可。
注意这里需要填写两个 URL,一个是网站地址,也就是需要让用户能够通过QQ登录的网站。另一个是网站回调域,则是用户发起QQ登录请求之后,负责与腾讯服务器通讯,实现QQ登录功能的URL,这两个URL要注意区分。
所创建的网站应用审核通过之后,点击查看按钮,在网站应用的详情界面,能看到为这个网站分配的APP ID和APP Key,后面实现QQ登录功能的时候要用到。
另外,还能看到审核通过的网站应用,有两个可用的应用接口,第一个登录默认是开启的,第二个unionid需要手动开启,这里先把它开启了,后面说不定就用上了。
流程概述
接下来就需要编写代码,实现QQ登录功能了。这里先简要说明一下整体流程:
按照要求访问指定网址,会显示QQ登录界面,选择QQ账号进行登录之后,会向之前所填写的 网站回调域 发起回调,回调URL中包含Authorization Code(授权码)。
网站回调域 用这个Authorization Code(授权码),结合其它数据,向指定的地址发送请求,接收到的响应中包含Access Token(访问令牌)。
网站回调域 再用Access Token(访问令牌) 向指定的地址发送请求,接收到的响应中包含所登录QQ账号的 OpenID(不涉及用户隐私)。
网站回调域 拿到用户的OpenID之后,结合前面获取到的Access Token以及其它数据,就可以调用QQ的接口,实现特定的功能了。比如可以调用get_user_info接口,获取登录用户的昵称、头像、性别,用来显示在前端页面中。
一、获取Authorization Code
在自己编写的登录页面,点击QQ图标之后,请求下面的地址:
http://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=${appId}&redirect_uri=${redirectUrl}&state=${state}&scope=${scope}
上面的地址中,appId为网站应用的APP ID,redirectUrl为网站应用的网站回调域,state为用户自定义的字符串,scope为向用户所请求的授权列表。
scope之外的参数均为必填项,scope如果不写,则默认只请求对接口get_user_info进行授权,获取用户最基本的几项信息:QQ昵称、QQ头像、性别。
发起请求之后,会将用户导向到QQ官方的登录页面,用户在这个页面上选择需要登录的QQ号,点击“登录”,网站回调域就会收到的腾讯服务器所发起的回调。
比如之前所填写的 网站回调域 为 a.com/api/getauthcode 的话,腾讯服务器就会向 网站回调域 发送如下请求:
GET /getauthcode?code=F91C6110********
在上面接收到的这个请求中,URL查询字符串里,code= 后面的字符串,就是腾讯服务器发来的Authorization Code。
二、获取Access Token
拿到Authorization Code,结合其它数据,请求如下地址:
http://graph.qq.com/oauth2.0/token?grant_type=authorization_code&client_id=${appId}&client_secret=${appKey}&code=${authCode}&state=${state}&redirect_uri=${redirectUrl}
网站回调域 会收到如下响应:
access_token=FF3A****&expires_in=7776000&refresh_token=2516****
其中就包含了Access Token,并且这个Access Token有90天的有效期,但并不会按照官方文档所说的,用户再次登录时自动刷新,而是短时间(一天内)连续多次登录都不会刷新。
对于这个Access Token,官网建议开发者将其进行保存,以便后续调用OpenAPI访问和修改用户信息时使用。
三、获取OpenID
有了Access Token之后,就可以用它来获取当前所登录QQ账号的OpenID了。请求如下地址:
http://graph.qq.com/oauth2.0/me?access_token=${accessToken}
网站回调域 会收到如下响应:
callback( {"client_id":"appId","openid":"openId"} );
上面的响应中包含了 APP ID 和 OpenID,APP ID 可用来确认是否为合法的网站请求,OpenID 自然就是所登录QQ账号的 OpenID 了。
四、调用接口访问数据
有了第二步获取到的获取Access Token,和第三步获取到的OpenID,就可以拿来访问QQ的接口,获取用户的相关信息了。
比如以下面的方式请求 get_user_info 接口,就能够获取到用户昵称、QQ头像等信息。
http://graph.qq.com/user/get_user_info?access_token=${accessToken}&oauth_consumer_key=${appId}&openid=${openId}
本文到此结束,希望对大家有所帮助。
标签:
北京豪车相撞 北京豪车车祸肇事者父亲 下一篇
最后一页
猜你喜欢
- 轻奢品牌饰品推荐 值得推荐的五个世界知名轻奢饰品品牌
- 微信7.0.9版本要更新什么功能(微信7.0版本更新的这些功能你知道吗
- 三星手机4000以下推荐 除了苹果三星又多了一款图灵)
- 少女时代已经解散了吗 时代会不会解散)
- 饲养仓鼠小技巧(如何饲养仓鼠
- 明史杨廷和传阅读答案 积累每日一篇文言文
- 520空间说说日志 520空间说说日志大全)
- 仙境传说ro守护永恒的爱资料站 仙境传说RO守护永恒的爱)
- 豆苗菜的种植方法(豆苗菜种植技术)
- 一龙一回合ko日本k1拳手 日本拳坛史上最强ko王者
- 教师节快乐英语怎么写 教师节快乐英语的用法
- 简单实用格斗术一招制敌 特种兵的格斗招式)
- 赵薇老公是谁 赵薇嫁给身价4亿的黄有龙
- 魅族mx3介绍 曾经的魅族旗舰-MX3
- 白居易的大林寺桃花全诗 人间四月芳菲尽
- 电脑好用的免费翻译软件 推荐3个电脑翻译工具)
- 时尚运动风穿搭个性时尚难得一见 18套运动风搭配look减龄又时髦
- 192.168.0.1登录密码忘了怎么办 试试这样做
- 格式转换器的正确使用方法(什么格式转换器好用)
- 红楼梦林妹妹的两个版本(红楼梦连载晴有林风)
最新文章
- webqq账号登录 网站接入QQ登录功能)
- 冒险岛手游尖兵技能等级(冒险岛手游尖兵杰诺怎么样)
- 北京豪车相撞 北京豪车车祸肇事者父亲
- 单反光圈快门速度怎么设置 单反入门纯干货
- 长安之星9五座加长(深圳长安之星9限时特惠0.2万元
- 匡威的穿法和搭配 我们买了匡威该怎么穿)
- 魔兽世界怀旧服开荒天赋推荐 魔兽世界怀旧服战士选什么天赋
- 荣誉勋章之空降神兵多人游戏(游戏史上的今天)
- 6.1.3越狱方法 Checkra1n越狱工具发布支持iPhone
- lol老是系统崩溃 LOL现在游戏总是崩溃
- 苏宁怎么申请退换货 苏宁宣布重磅福利)
- 赵薇周迅主演的电影有哪些 赵薇周迅接拍同一导演的生活剧)
- 张智霖和袁咏仪有多恩爱(张智霖人设翻车了
- 祛痘印排行榜第一名 祛痘产品 最有效的祛痘产品排行榜
- 诺基亚c503都需要安装那些必备的软件 诺基亚c503安装什么软件最好)
- 王子变青蛙婚后(闹了5年的离婚案本质
- 英雄联盟最新adc暴力符文 LOL英雄联盟adc符文搭配
- 韩国各组合门面担当 那些年中日韩组合门面担当
- 完美关系舒晴是什么人(给大家介绍一下
- 魔兽世界金价查询小程序(魔兽世界失算的金价)
- 轻奢品牌饰品推荐 值得推荐的五个世界知名轻奢饰品品牌
- 还珠格格里的金锁 新还珠格格中她演金锁
- 微信7.0.9版本要更新什么功能(微信7.0版本更新的这些功能你知道吗
- 四川省事业单位绩效工资改革意见 绩效工资将有变化