转自: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、微信等第三方登录的几个思考的更多相关文章

  1. 微信、QQ、新浪微博等第三方登录,你想知道的都在这了(上) 微信、QQ、新浪微博等第三方登录,你想知道的都在这了(下)

    微信.QQ.新浪微博等第三方登录,你想知道的都在这了(上):https://www.jianshu.com/p/133d84042483 微信.QQ.新浪微博等第三方登录,你想知道的都在这了(下):h ...

  2. tp5集成淘宝,微信,网易,新浪等第三方登录

    tp5集成淘宝,微信,网易,新浪等第三方登录 一.总结 一句话总结: 接口 链接 实现的话就是这些平台给的一个接口(链接),你通过这些接口登录进去之后,它会给你返回用户名,头像之类的信息,我们的网站存 ...

  3. 拾人牙慧篇之———QQ微信的第三方登录实现

    一.写在前面 关于qq微信登录的原理之流我就不一一赘述了,对应的官网都有,在这里主要是展示我是怎么实现出来的,看了好几个博客,有的是直接复制官网的,有的不知道为什么实现不了.我只能保证我的这个是我实现 ...

  4. SpringCloud微服务实战——搭建企业级开发框架(四十一):扩展JustAuth+SpringSecurity+Vue实现多租户系统微信扫码、钉钉扫码等第三方登录

      前面我们详细介绍了SSO.OAuth2的定义和实现原理,也举例说明了如何在微服务框架中使用spring-security-oauth2实现单点登录授权服务器和单点登录客户端.目前很多平台都提供了单 ...

  5. 关于使用QQ、新浪微博、腾讯微博等第三方登录网站的开发过程(二)

    (二).新浪微博登录 1. 首先在新浪微博开放平台注册成为开发者.[http://open.weibo.com/connect] 具体自己填写一些相关信息就OK! 2. 注册成功之后,点击[微连接], ...

  6. iOS应用程序开发之应用间的跳转(用着微信等第三方分享登陆)

    简介 配置和实现 判断应用启动方式 一.简介 最实际项目开发中,我们难免会遇到需要从一个应用跳转到另一个应用的情况.比如微信分享,实际就是一种应用间的跳转.但是有时候我们需要实现自己的两个应用间的跳转 ...

  7. spring boot zuul集成kubernetes等第三方登录

    介绍一下,在单点登录平台集成kubernetes登录,集成其它系统的登录原理是一样的,如grafana, nacos, jenkins等. POM引用: <dependency> < ...

  8. PHP实现qq三方登录

    除了qq第三方登录外.还有微博,微信等第三方登录 qq第三方登录,遵循oauth2.0协议 这里是说明http://www.cnblogs.com/yx520zhao/p/6616686.html q ...

  9. apiClould微信三方登录,qq三方登录

    三方登录需要在config.xml文件中配置一下,res文件下需要新建一个key.xml文件中也需要配置,请点击链接查看详情 微信:https://docs.apicloud.com/Client-A ...

随机推荐

  1. Mac Pro 编译安装 PHP 5.6.21 及 问题汇总

    [系统环境] 操作系统:OS X 10.11.5 Xcode:7.3.1 [注意] 编译之前,需要安装 xcode.Homebrew 套件! Mac Pro 安装 Homebrew 软件包管理工具 1 ...

  2. memcache安装

    windows下访问 http://pecl.php.net/package/memcache/3.0.8/windows 下载对应版本memcache的dll文件添加到php目录ext下 PHP.i ...

  3. Effective Java 读书笔记之四 泛型

    泛型的本质是参数化类型.只对编译器有效. 一.请不要在新代码中使用原生态类型 1.泛型类和接口统称为泛型,有一个对应的原生态类型. 2.原生类型的存在是为了移植兼容性. 3.无限制通配类型和原生态类型 ...

  4. 字符集与编码01--charset vs encoding

    声明:此文章转载自 http://my.oschina.net/goldenshaw/blog/304493 许多时候,字符集与编码这两个概念常被混为一谈,但两者是有差别的,作为深入理解的第一步,首先 ...

  5. [codevs1027]姓名与ID

    [codevs1027]姓名与ID 试题描述 有N个人,各自有一个姓名和ID(别名).每个人的姓名和ID都没有重复.这些人依次进入一间房间,然后可能会离开.过程中可以得到一些信息,告知在房间里的某个人 ...

  6. mysql的安装以及基本操作

    一.在Linux 下安装MySQL ubuntu 下可以直接使用apt-get . centos 下yum源有没有就不知道了. 1. sudo apt-get install mysql-server ...

  7. 读书笔记-JVM

    局部变量表(虚拟机栈中的一部分)在编译期完成分配,运行期不会再改变大小: 每个方法对应一个栈帧(存储局部变量表.操作数栈.动态链接.方法出口等),栈帧被存储到虚拟机栈中,每个线程对应一个虚拟机栈,方法 ...

  8. 7.6--找过点最多的直线(CC150)

    直接两个点确定一条直线.然后两两组合,再写一个看过多少个点的函数.一直更新max就行. import java.util.Arrays; public class Solution { public ...

  9. vb.net 控件(包括字体)随窗体按比例缩放

    Public Class frmDl Dim x As Single = 0 Dim y As Single = 0 Private Sub frmDl_Load(ByVal sender As Sy ...

  10. django中抽象基类的Foreignkey的定义

    class base(models.Model): user = models.ForeignKey(User) class Meta: abstract =True 以上是抽象基类的定义,只有一个公 ...