QQ微信微博联合登录流程总结
第三方联合登录一般可以降低网站的获客成本,所以一般的网站都会做一些联合登录,常用的就是QQ、微信、微博了,下面简单的介绍一下这些联合登录的方法。
看了一号店的QQ登录源码可知,点击图标直接访问的是这个链接
https://passport.yhd.com/qq/login.do?tp=2.0.0.0.0.LWyye4h-10-C`toe&ti=H2H3VT
它首先请求的是自己网站的请求,后面那两个参数应该没用,大家自己项目可以不用加,不过抓包能看出来它在服务端做了一个重定向指向了腾讯的QQ授权登录页面
https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=100234077&redirect_uri=https://passport.yhd.com/qq/callback.do&scope=get_user_info&state=6172a6f6f311570fe739e96be57b6a67
这里根据QQ的联合登录文档就能知道重定向传递的参数都是干什么了。。文档
这里一号店只申请了昵称头像性别的权限,一般都会同意的。
接下来就是QQ的重定向了,QQ自己到了这个请求。
https://graph.qq.com/oauth/show?which=Login&display=pc&response_type=code&client_id=100234077&redirect_uri=https://passport.yhd.com/qq/callback.do&scope=get_user_info&state=6172a6f6f311570fe739e96be57b6a67
这里其实就能看出一号店希望用户在点击授权登录之后访问的链接,https://passport.yhd.com/qq/callback.do
但是当QQ回调你方法的时候就成了这样
https://passport.yhd.com/qq/callback.do?code=78DF205E46BFECE1D22D31FD77BFD925&state=8625864ecaa9b8424aa40a7e12b4cdb9
在这里QQ加上了一个code参数和state参数,code是用来获取token值的,只有10分钟有效期,state参数是让你校验你的请求有没有被篡改,如果被篡改,你得有相应的处理。在这个回调方法里,我们得按照QQ联合登录的文档用申请QQ登录所分发的appid和appkey来获取token,
获取完token,你就得按文档再根据token去获取用户的openId
得到了用户的openId之后,你就可以获取之前授权可以得到的用户信息了 其他用户信息接口文档
当走到这里时,你已经得到了用户的openId和其他的用户信息,应为openId是唯一的,所以不可能重复,这时候整个联合登录就已经走完了。你可以根据openId给用户在你的站内创建一个账号,设置登录token,认为用户已经登录了。
QQ联合登录说的这么清楚了,其实微信联合登录也是这个套路,具体看文档调接口就可以了
微信联合登录
微信联合登录查询用户信息
如果你的微信开放平台下有多个应用,你可以用appid+unionid的形式来保证用户id的唯一性。
微博联合登录流程也大体差不多,详情请看微博联合登录文档
QQ微信微博联合登录流程总结相关推荐
- java qq微信微博第三方登录界面_android 实现第三方登录(微博、微信、QQ登录)
[实例简介]此案例是演示案例,大家可以看到Bmob的第三方登录和信息获取如何工作的 实现了 qq.微信.微博的 第三方登录功能 [实例截图] [核心代码] package com.bmob.demo. ...
- 安卓三方登录趟坑,QQ,微信,微博,Twitter,Facebook,Instagram
前言 最近给app加入三方登录,由于比较多,所以就用的友盟统一登录,会比一个一个配置方便点 正文 先说QQ,微信,微博: 国内QQ,微信,微博三方登录其实还行,并没有太多坑,文档也挺完善的. 但是需要 ...
- 实现在App端授权qq/微信/微博登录
App端登陆相关的SDK需要在manifest中配置: 打开 manifest.json -> App模块权限配置,勾选 OAuth(登陆鉴权). 打开 manifest.json -> ...
- Oauth2.0 QQ微信微博实现第三方登陆
一.写在前面 目前对于大多数的App或Web网站都支持有第三方登陆这个功能,用户可使用 QQ/ 微信/ 微博 帐号快速登录你的网站,降低注册门槛,为你的网站带来海量新用户.最近在新项目上刚好用到了,在 ...
- 拾人牙慧篇之———QQ微信的第三方登录实现
一.写在前面 关于qq微信登录的原理之流我就不一一赘述了,对应的官网都有,在这里主要是展示我是怎么实现出来的,看了好几个博客,有的是直接复制官网的,有的不知道为什么实现不了.我只能保证我的这个是我实现 ...
- 微信小程序-微信小程序登录流程(一)
微信小程序,小程序的一种,英文名Wechat Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用"触手可及"的梦想,用户扫一扫或搜一下即可打开应用 冷启动: ...
- java 微信 qq 登录_拾人牙慧篇之———QQ微信的第三方登录实现
一.写在前面 关于qq微信登录的原理之流我就不一一赘述了,对应的官网都有,在这里主要是展示我是怎么实现出来的,看了好几个博客,有的是直接复制官网的,有的不知道为什么实现不了.我只能保证我的这个是我实现 ...
- 访问量分类统计(QQ,微信,微博,网页,网站APP,其他)
刚准备敲键盘,突然想起今天已经星期五了,有点小兴奋,一周又这么愉快的结束,又可以休息了,等等..我好像是来写Java博客的,怎么变成了写日记,好吧,言归正传. 不知道大家有没有遇到过这样的需求:统计一 ...
- 微信小程序登录流程+介绍wx.login和auth.code2Session
微信小程序登录流程+介绍wx.login和auth.code2Session 几个核心API和核心字段 wx.login() 调用接口获取登录凭证(code) code2Session 登录凭证校验, ...
最新文章
- 什么是XLNet,它为什么比BERT效果好?
- 以太坊开发者工具的最新清单
- 美国新桥投资集团(Newbridge Capital) [from baike]
- ITK:从测量列表创建直方图
- PHP面试题:对于用户输入一串字符串$string,要求$string中只能包含大于0的数字和英文逗号,请用正则 表达式验证,对于不符合要求的$string返回出错信息
- .NET Core 3.1正式发布,还不赶快升级!
- 解决 MyEclipse build workspace 慢,validation javascript 更慢的问题
- Cordova iOS WKWebView 整改完美解决方案
- 从CTF比赛真题中学习压缩包伪加密与图片隐写术
- Linux grep
- 如何向水晶报表数据源中的存储过程传参数……
- 一篇文章帮你梳理清楚API设计时需要考虑的几个关键点
- 一个非常经典的erp教程
- 数据质量评价体系(附思维导图)
- 学习opencv3 pdf_PDF的虚拟打印机,免费又好用
- centos 替换阿里源
- 我的春招实习+秋招总结【前端开发】
- JQuery解析Json数据填充到表格
- python 语音处理工具包AudioSegment的基本使用
- 洛谷 P1162填图颜色
热门文章
- iview mysql_iview实现国际化 - osc_wws45aot的个人空间 - OSCHINA - 中文开源技术交流社区...
- jQuery实现倒计时功能
- 老男孩python第九期_python学习之老男孩python全栈第九期_day004知识点总结
- 云台山风景区国庆黄金周连续两天游客爆棚
- HZAU 1018 Catching Dogs
- 聚观早报|特斯拉向第三方电动车开放充电桩;Epic 诉苹果垄断败诉
- 1.0 java_Mybatis_oracle基于WEB的仓库管理系统的设计与实现(源码+数据库sql+论文+视频齐全)----库管理系统---源码在底部
- 排坑-FAILED: UDFArgumentException The function DECIMAL takes only primitive types
- 轻松Java打印预览、Web打印
- 让你也体验一把当黑客的感觉:复现了log4j2的漏洞