【Demo】QQ,github,微博第三方社交登录
2017-01-03 18:40
387 查看
本文主要讲解 集成 第三方社交账号登录
而目前流行的社交网站 基本上每个用户都有账号,如果通过这类社交网站登录 就能得到如下几点好处
用户不用再注册其他账号
用户只能维护社交账户足够安全就行了,使用此社交账号登录的就是安全的了
微信
新浪微博
人人网
百度
Github
新浪微博登录
QQ登录
Github登录
申请新浪微博网页应用
进入 http://open.weibo.com/ 申请网页应用,微博应用可以先申请等上线之后再提交审核
申请QQ登录应用
进入 https://connect.qq.com/ ,登录之后 进入 应用管理,QQ应用需要先审核通过之后才可以使用(PS: 我被驳回了4次才通过,很多项和备案信息相关的)
申请Github登录应用
进入https://github.com/ 登录之后 进入 设置页面
相关数据表
实例演示
地址: http://www.54php.cn/oauth/login ,感兴趣大家可以自行前往试试
原文地址:【Demo】QQ,github,微博第三方社交登录
标签:qq 微信 微博 oauth 第三方 登录
【解决方案】订阅号不允许跨号支付
【Demo】微信上墙
【Demo】HTML5 拍照上传
【ionic】微信表情设置教程
为什么会有这个需求?
主要是因为目前互联网的网站数量太多,如果在各个站点都注册一个账号 用户非常不容易记住每个账号的用户名和密码,并且非常难保证每个账号的密码足够安全而目前流行的社交网站 基本上每个用户都有账号,如果通过这类社交网站登录 就能得到如下几点好处
用户不用再注册其他账号
用户只能维护社交账户足够安全就行了,使用此社交账号登录的就是安全的了
常见的第三方社交账号有哪些?
QQ微信
新浪微博
人人网
百度
Github
如何加入第三方登录功能?
国内这些比较大的社交公司 都有专门的开放平台,有经验的开发者可以看开放平台是可以实现了,本人主要实现三个社交登录新浪微博登录
QQ登录
Github登录
申请新浪微博网页应用
进入 http://open.weibo.com/ 申请网页应用,微博应用可以先申请等上线之后再提交审核申请QQ登录应用
进入 https://connect.qq.com/ ,登录之后 进入 应用管理,QQ应用需要先审核通过之后才可以使用(PS: 我被驳回了4次才通过,很多项和备案信息相关的)申请Github登录应用
进入https://github.com/ 登录之后 进入 设置页面实现 QQ,微博,Github登录功能
相关数据表
CREATE TABLE `user` ( `uid` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户uid', `nickname` varchar(20) NOT NULL DEFAULT '' COMMENT '用户昵称', `unique_name` varchar(60) NOT NULL DEFAULT '' COMMENT '唯一标识', `avatar` varchar(500) NOT NULL DEFAULT '' COMMENT '用户头像', `mobile` varchar(11) NOT NULL DEFAULT '' COMMENT '用户手机号码', `updated_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '最后一次更新时间', `created_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '插入时间', PRIMARY KEY (`uid`), UNIQUE KEY `idx_name` (`unique_name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户表'; CREATE TABLE `oauth_token` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `client_type` varchar(20) NOT NULL DEFAULT '' COMMENT '客户端来源类型', `token` varchar(100) NOT NULL DEFAULT '', `note` varchar(1000) NOT NULL DEFAULT '' COMMENT '备注', `valid_to` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '有效期截止日期', `updated_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '最后一次更新时间', `createdt_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '插入时间', PRIMARY KEY (`id`), KEY `client_type_token` (`client_type`,`token`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='oauth token 表'; CREATE TABLE `oauth_bind` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `uid` int(11) NOT NULL DEFAULT '0' COMMENT '用户uid', `client_type` varchar(20) NOT NULL DEFAULT '' COMMENT '客户端', `openid` varchar(80) NOT NULL DEFAULT '' COMMENT '第三方id', `extra` text NOT NULL COMMENT '额外字段', `created_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '插入时间', PRIMARY KEY (`id`), KEY `idx_client_type_opend_id` (`client_type`,`openid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='第三方登录绑定关系';
实现架构
相关代码文件:https://github.com/apanly/dream/tree/master/common/service/oauthClientService.php 统一第三方登录方法,应用程序的方法入口 GithubService.php Github第三方登录相关方法 QqService.php QQ第三方登录相关方法 WeiboService.php 微博第三方登录相关方法
实例演示
地址: http://www.54php.cn/oauth/login ,感兴趣大家可以自行前往试试集成到商业产品需优化的地方
获取用户信息的相关逻辑,放入队列处理,因为获取信息还是比较慢的原文地址:【Demo】QQ,github,微博第三方社交登录
标签:qq 微信 微博 oauth 第三方 登录
智能推荐
【微信技能】如何通过微信号知道对方微信的二维码【解决方案】订阅号不允许跨号支付
【Demo】微信上墙
【Demo】HTML5 拍照上传
【ionic】微信表情设置教程
相关文章推荐
- 【Demo】QQ,github,微博第三方社交登录
- 【Demo】QQ,github,微博第三方社交登录
- 【Demo】QQ,github,微博第三方社交登录
- 电商 手机web端使用第三方登录(QQ,sina微博)demo
- Android使用友盟集成QQ、微信、微博等第三方登录
- Android使用ShareSDK集成QQ、微信、微博等第三方登录
- Android使用友盟集成QQ、微信、微博等第三方分享与登录方法详解
- 通过js sdk 来进行第三方登录及授权(微博,微信,qq)
- 解决 微信、QQ、微博、支付宝 第三方登录 不同应用间用户共享的问题
- QQ第三方登录实例demo(QQSDK包优化)
- QQ第三方登录实例demo(QQSDK包优化)
- java第三方登录(微博,QQ)详细代码
- 【用户授权设计】java第三方登录(微博,QQ)详细代码
- 前端html第三方登录集合,微信,微博,QQ
- 【android】第三方集成之——QQ登录,微博登陆
- Android 使用shareSDK进行第三方登录失败解决方法(微信,微博,qq)
- 使用ShareSDK完成第三方(QQ、微信、微博)登录和分享
- Android友盟集成QQ、微信、微博等第三方登录与分享
- OAuth2.0协议&第三方登录(微信,QQ,微博)
- Laravel5.1 实现第三方登录认证(包括微博、QQ、微信、豆瓣)