Oauth2.0 QQ&微信&微博实现第三方登陆
一、写在前面
目前对于大多数的App或Web网站都支持有第三方登陆这个功能,用户可使用 QQ/ 微信/ 微博 帐号快速登录你的网站,降低注册门槛,为你的网站带来海量新用户。最近在新项目上刚好用到了,在自己做的同时也将其实现过程记录下来,方便与大家一同交流学习! (2018-01-18 21:23 更新)
二、准备工作
1. 各大平台开发者注册基本信息填写
- 开发者名称
- 所在地区(身份证地址)
- 详细地址(身份证地址)
- 邮政编码
- 手机号码
- 电子邮箱
- 聊天工具(QQ)
- 身份证号码
- 身份证正面照片(JPG/PNG)
- 本人手持身份证照(清晰,JPG,1M以内)
- 紧急联系人
- 紧急联系人电话
2. 各大开放平台网站信息填写
- 网站应用名称
- 应用分类:网页应用
- 网站简介(不超过80字)
- 网站英文简介(不超过80字)
- 网站域名(微博开发平台仅支持后缀为 .com 和 .cn 的安全域名,域名需要备案)
- 网站回调域(用户授权登陆成功后的跳转链接)
- 域名提供方:阿里云(万网)/腾讯云/百度云或其他
- 域名备案号
- (微信)网站信息登记表扫描件:《Website_Information_form.doc》,先下载填写打印,并盖章后上传扫描件。(支持JPG、PNG、BMP格式,不超过2MB)
- 腾讯QQ互联开发平台网站图标:64x64(px)、100x100(px)
- 新浪微博开发平台网站图标:16*16(px)、80*80(px)、120*120(px)(2M以内,支持JPG、PNG)
- 新浪微博开发平台网站应用介绍图片:450*300(px)(这里需要上传3张,1M以内,支持JPG、PNG)
- 微信开发平台网站图标:28*28(px,仅支持PNG格式,大小不超过300KB)、108*108(px,仅支持PNG格式,大小不超过300KB)
- 在此献上个人整理的《QQ/微信/微博开发平台所需提交材料》
三、了解 Oauth2.0 授权机制
要了解 Oauth2.0 在各大平台的授权机制,一个很好的方法就是查看各平台自己提供的API说明。
例如:
- 微博 WIKI Oauth2.0 授权机制说明:《微博 API 授权机制说明》
- 腾讯QQ互联WIKI Oauth2.0介绍:《QQ 互联 Oauth2.0介绍》
四、开发者注册
首先到 QQ、微信、微博各开放平台注册账户并且登陆,为获取 AppKey 和 AppSecret 做准备,各开放平台接入操作步骤如下:
1. 腾讯QQ开放平台:https://connect.qq.com/
- 登陆到QQ互联开放平台,在这里你可以根据个人需要去选择 移动应用/网站应用 填写基本信息,等待审核(一般在36小时内出结果)
1. 填写个人基本信息
开发者类型: 个人开发者/公司
名称:
联系地址:
手机号码:
电子邮箱:
身份证号码:
上传个人身份证照: (2MB以内,JPG/PNG,双手持身份证正面照,身份证信息清晰可见)
2. 填写网站信息
网站名称:
网站类别:
网站简介: (80字以内)
网站图标: (64x64px、100x100px各一张,PNG/JPG,2M以内)
网站域名:
网站回调域: (见文档)
网站域名提供商:
网站备案号:
- 等待审核通过后,参见 网站开发流程 一步步实施即可。
2. 微信开放平台:https://open.weixin.qq.com/
- 登陆到微信·开放平台,填写个人基本信息并完成相关认证
- 点击管理中心>>网站应用>>创建网站应用
- 接着是填写网站应用信息
微信开放平台由于网站信息登记表扫描件没有盖章,审核未通过,暂且搁置。
3. 新浪微博开放平台:http://open.weibo.com/
- 登陆到微博·开放平台,点击微连接>>网站接入注册成为开发者,邮箱验证。
- 身份认证(真实姓名、身份证号码、上传身份证照片、手机验证等)
由于我的域名后缀是 .club 的,微博开放平台不支持(仅支持 .com 和 .cn 的),所以就没有继续下去了。
这里说一下,如域名后缀符合申请,那么得先在你的应用程序中实现微博点赞、分享、关注等按钮(微博组件),
附上链接:http://open.weibo.com/widget/like.php

Oauth2.0 QQ&微信&微博实现第三方登陆的更多相关文章
- 访问量分类统计(QQ,微信,微博,网页,网站APP,其他)
刚准备敲键盘,突然想起今天已经星期五了,有点小兴奋,一周又这么愉快的结束,又可以休息了,等等..我好像是来写Java博客的,怎么变成了写日记,好吧,言归正传. 不知道大家有没有遇到过这样的需求:统计一 ...
- 微信公众平台开发—利用OAuth2.0获取微信用户基本信息
在借鉴前两篇获取微信用户基本信息的基础下,本人也总结整理了一些个人笔记:如何通过OAuth2.0获取微信用户信息 1.首先在某微信平台下配置OAuth2.0授权回调页面: 2.通过appid构造url ...
- .net Core2.2 WebApi通过OAuth2.0实现微信登录
前言 微信相关配置请参考 微信公众平台 的这篇文章.注意授权回调域名一定要修改正确. 微信网页授权是通过OAuth2.0机制实现的,所以我们可以使用 https://github.com/china- ...
- qq 微信 微博 第三方分享
<html> <head> <meta charset="utf-8"> <meta name="viewport" ...
- Python 第三方登录 实现QQ 微信 微博 登录
本人写的AgentLogin,能快速返回QQ.微信.微博第三方用户名信息,主要用于快速登录 用 pip命令安装 pip install AgentLogin 用法 : 导入这个包 from Agent ...
- TP QQ 微信 微博登录
use Org\Util\QQconnect; use Org\Util\Wechatauth; use Org\Util\SaeTOAuthV2; use Org\Util\SaeTClientV2 ...
- Android仿QQ微信开场导航以及登陆界面
相信大家对于微信等社交应用的UI界面已经都很熟悉了,该UI最值得借鉴的莫过于第一次使用的时候一些列产品介绍的图片,可以左右滑动浏览,最后 进入应用,这一效果适用于多种项目中,相信今后开发应用一定会用得 ...
- 分享-QQ/微信/微博(环境搭建)
QQ环境搭建
- Android 仿QQ微信开场导航以及登陆界面
相信大家对于微信等社交应用的UI界面已经都很熟悉了,该UI最值得借鉴的莫过于第一次使用的时候一些列产品介绍的图片,可以左右滑动浏览,最后进入应 用,这一效果适用于多种项目中,相信今后开发应用一定会用得 ...
随机推荐
- ASP.NET MVC之视图传参到控制器的几种形式
1. 传递数组 $(function () { var value = ["C#", "JAVA", "PHP"]; $("inp ...
- 【bzoj 2002】弹飞绵羊
Description 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏.游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置 ...
- pycharm使用方法
https://blog.csdn.net/zhaihaifei/article/details/51658425
- Docker 操作记录
Docker docker info 查看信息 docker 更改镜像目录 方式:1.配置文件修改 # cat /etc/sysconfig/docker |grep -v ^# |grep -v ^ ...
- Java SE之反射技术[Class,Field](一)
一.什么是反射? 反射库(Reflection Library)提供了一个非常丰富且精心设计的工具集,以便编写能够动态操纵Java代码的程序.这项功能被大量地应用在JavaBeans中,它是Java组 ...
- VMWare14 安装Mac OS系统(图解)
★ 背景 瞅了瞅自己干瘪的钱包,没忍心入手期待已久的 macPro,只好在虚拟机里玩一下 mac好了,等以后钱包傲气的时候再来个真实的. 安装环境: windows10 VMWare14.2 一.准备 ...
- netty的解码器和粘包拆包
Tcp是一个流的协议,一个完整的包可能会被Tcp拆成多个包进行发送,也可能把一个小的包封装成一个大的数据包发送,这就是所谓的粘包和拆包问题 粘包.拆包出现的原因: 在流传输中出现,UDP不会出现粘包, ...
- Tip:JSP标签也称之为Jsp Action(JSP动作)元素
JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护. ================ &l ...
- 深度学习——深度神经网络(DNN)反向传播算法
深度神经网络(Deep Neural Networks,简称DNN)是深度学习的基础. 回顾监督学习的一般性问题.假设我们有$m$个训练样本$\{(x_1, y_1), (x_2, y_2), …, ...
- map中的count方法
map.count(Key)返回值为1或者0,1返回存在,0返回不存在,返回的是布尔类型的值,因为在map类型中所有的数据的Key值都是不同的,所以被count的数要么存在1次,要么不存在