对QQ、微信等第三方登录的几个思考
转自:http://www.jianshu.com/p/7f282dfc16fc
今天聊聊注册、登录环节中很常见的第三方登录,如QQ、微信、支付宝、新浪微博等。虽然这些产品的开放平台都提供了标准的接入文档,但是在接入时还有些问题需要想清楚。
1 第三方登录目的
第三方登录的目的很简单,就是利用用户在其他平台上频繁使用的账号,来快速登录你的产品,达到不注册就登录的目的。
2 第三方登录好处
第三方登录的好处,显而易见。
不需要注册账号,直接使用已有的QQ号、微信等登录。减少了注册环节,减少了因为注册而流失的用户。
可以直接获取用户昵称、头像等信息,省去再次填写昵称、上传头像的麻烦。
共享QQ、微信等账号已有的用户关系,用户进入产品中就能找到熟悉的人,容易留住用户。
多数情况下,还减少了登录时账号和密码输入,通过点击就完成了登录。
3 第三方登录不足
当然第三方登录,相比自建账号体系(产品提供手机、邮箱注册),也存在短板。最大的短板来自对用户后续营销信息的触达。
使用第三方登录,相当于为了便捷性,放弃了自建账号体系中对用户手机号、邮箱的获取,后续不能通过手机短信、邮箱将营销信息推送给用户。
4 什么类型应用适用于第三方登录
不是所有应用都适合第三方登录。
一般来说,对于工具型、游戏型、内容型等应用,注重的是工具的使用、内容的提供,适合把第三方登录放在优先的位置,甚至只提供第三方登录就行,免去用户注册。
对于电商类应用,注重自己账号体系的建立、注重用户后续的营销,第三方登录只是作为补充,将第三方登录置于较弱的位置,为新没有账号的用户提供快速登录。
对于支付类、金融类应用,强调安全性、强调隐私性,一般不提供第三方登录。如果这些类型应用提供第三方登录,让用户觉得不安全,感觉自己的信息会通过第三方授权泄露出去。
看看你的应用属于什么类型,是不是合适第三方登录,第三方登录应该置于什么样的权重下。
5 第三方登录对于昵称的处理
你的产品如果对于昵称限制不严格,比如昵称不唯一、可修改等。可以直接将用户第三方账号的昵称作为用户昵称,写到数据库里。至于第三方昵称有更新,你的产品可以不随着更新,头像也如此。
你的产品如果对于昵称限制比较严格,比如昵称唯一、昵称不能带某些敏感词、昵称不可修改等。可以直接显示用户第三方昵称,但是不需要写入到数据库中,用户仍然可以在你的产品中填写自己的昵称。
6 第三方登录后不要再引导填写各类信息
对于第三方登录后,不少产品进一步引导用户绑定手机号、绑定邮箱、绑定已有的账号、设置昵称等操作。这就违背了你使用第三方登录的初衷。使用第三方登录,本来就是想让注册、登录变得简单,你这样一搞,比注册一个完整账号还复杂。
这些操作如果是必须的,可以在后面的流程中再去引导。比如领取优惠券时需要填写手机号,那这时再引导填写手机号。
7 QQ、微信登录中存在的问题
在接入第三方登录过程中,常遇到到pc网站和移动应用使用同一个QQ号登录后,生成两个账号的尴尬。
如果你还没有新建移动应用,解决方法是:
1)首先在http://connect.qq.com申请网站接入,取得网站应用的AppId、AppKey
2)然后在http://open.qq.com/申请创建 移动应用,在“关联QQ互联APPID”提示弹窗上,选择“是”并输入网站APP ID 和APP KEY。这其实是一个绑定的过程。如下图:
如果你已经新建了移动应用,但是没有和网站应用绑定,解决办法是给腾讯客服connect@qq.com发邮件,让腾讯那边帮助进行人工绑定处理:
1)告知网站应用APPID和移动应用APPID
2)指定其中一个APPID作为主APPID,将另一个APPID绑定在主APPID下(哪个APPID作为主APPID的依据是,哪个APPID对应的应用有用户登录数据。如果2个应用都登录数据,那需要看你舍弃哪个)
多个移动应用和网站应用绑定,也是这个思路,需要联系腾讯客服进行处理。
微信对于多个应用使用同一个微信号登录返回同一个账号的处理很简单。一个unionid机制来实现。微信对于unionid说明如下:
如果开发者拥有多个移动应用、网站应用和公众帐号,可通过获取用户基本信息中的unionid来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号,用户的unionid是唯一的。
对于微博、支付宝等第三方登录,都应该有类似的机制。只是QQ登录的处理比较麻烦。
对QQ、微信等第三方登录的几个思考的更多相关文章
- 微信、QQ、新浪微博等第三方登录,你想知道的都在这了(上) 微信、QQ、新浪微博等第三方登录,你想知道的都在这了(下)
微信.QQ.新浪微博等第三方登录,你想知道的都在这了(上):https://www.jianshu.com/p/133d84042483 微信.QQ.新浪微博等第三方登录,你想知道的都在这了(下):h ...
- tp5集成淘宝,微信,网易,新浪等第三方登录
tp5集成淘宝,微信,网易,新浪等第三方登录 一.总结 一句话总结: 接口 链接 实现的话就是这些平台给的一个接口(链接),你通过这些接口登录进去之后,它会给你返回用户名,头像之类的信息,我们的网站存 ...
- 拾人牙慧篇之———QQ微信的第三方登录实现
一.写在前面 关于qq微信登录的原理之流我就不一一赘述了,对应的官网都有,在这里主要是展示我是怎么实现出来的,看了好几个博客,有的是直接复制官网的,有的不知道为什么实现不了.我只能保证我的这个是我实现 ...
- SpringCloud微服务实战——搭建企业级开发框架(四十一):扩展JustAuth+SpringSecurity+Vue实现多租户系统微信扫码、钉钉扫码等第三方登录
前面我们详细介绍了SSO.OAuth2的定义和实现原理,也举例说明了如何在微服务框架中使用spring-security-oauth2实现单点登录授权服务器和单点登录客户端.目前很多平台都提供了单 ...
- 关于使用QQ、新浪微博、腾讯微博等第三方登录网站的开发过程(二)
(二).新浪微博登录 1. 首先在新浪微博开放平台注册成为开发者.[http://open.weibo.com/connect] 具体自己填写一些相关信息就OK! 2. 注册成功之后,点击[微连接], ...
- iOS应用程序开发之应用间的跳转(用着微信等第三方分享登陆)
简介 配置和实现 判断应用启动方式 一.简介 最实际项目开发中,我们难免会遇到需要从一个应用跳转到另一个应用的情况.比如微信分享,实际就是一种应用间的跳转.但是有时候我们需要实现自己的两个应用间的跳转 ...
- spring boot zuul集成kubernetes等第三方登录
介绍一下,在单点登录平台集成kubernetes登录,集成其它系统的登录原理是一样的,如grafana, nacos, jenkins等. POM引用: <dependency> < ...
- PHP实现qq三方登录
除了qq第三方登录外.还有微博,微信等第三方登录 qq第三方登录,遵循oauth2.0协议 这里是说明http://www.cnblogs.com/yx520zhao/p/6616686.html q ...
- apiClould微信三方登录,qq三方登录
三方登录需要在config.xml文件中配置一下,res文件下需要新建一个key.xml文件中也需要配置,请点击链接查看详情 微信:https://docs.apicloud.com/Client-A ...
随机推荐
- OC第九节——协议与代理
一.理解协议与代理 协议: 协议就是需要相互遵守的约定.规范:需要去实现协议中规定的方法. 代理: 代理是一个概念,很难用一个名词去定义(如我们可以说协议其实就是一个方法列表).它更像是一种关系,我要 ...
- Mac Pro 安装 最新版的 SVN 1.9.4
系统自带的 SVN 版本为 1.7.2 $ svn --version svn, version 1.7.22 (r1694152) 有点老,安装下最新版本 brew install svn 由于老版 ...
- Javascript高级程序设计——javascript简介
1.Javascript简史 javascript诞生于1995年,是由网景公司的Brendan Eich开发的,最初的目的是在客户端处理一些输入验证操作,自此后成为常见浏览器的特色功能,如今用途已经 ...
- HDU 4791 Alice's Print Service(2013长沙区域赛现场赛A题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4791 解题报告:打印店提供打印纸张服务,需要收取费用,输入格式是s1 p1 s2 p2 s3 p3.. ...
- PC-BSD 换名 TrueOS
导读 PC-BSD 重大更新:面向私人电脑的PC-BSD操作系统开发者.Lumina桌面环境创造者Ken Moore今天宣布系统迎来重大改变. 首先,PC-BSD更名为TrueOS,用户依然能够在PC ...
- Sqli-LABS通关笔录-9[延时注入]
通过这个关卡 1.更快的掌握到了如何判断是否是延时注入 无论咋输入,都不行.当payload为: http://127.0.0.1/sql/Less-9/index.php?id=1' and sle ...
- Android 数据存储之 SQLite数据库存储
----------------------------------------SQLite数据库---------------------------------------------- SQLi ...
- Android_bug之Default Activity not found
在运行自己修改默认的MainActivety,运行自己的Mainactivety时,碰到这个问题Could not identify launch activity: Default Activity ...
- Python自动化装饰器问题解疑
问题一 到底是怎么执行的? import time def timer(timeout=0): def decorator(func): def wrapper(*args, **kwargs): # ...
- 2. Android系统启动流程
1.启动加载完内核 2.执行init进程 ----> 设备初始化工作 a1. 读取inic.rc a2. 启动Zygote进程 ----> 该进程是所有进程的孵 ...