注册登录的设计:基于33款APP的注册登录分析(二)

17 评论 13969 浏览 165 收藏 9 分钟

这篇文章,主要是想解答自己内心的疑惑:注册登录流程基于不同行业、不同类型、不同的安全要求,是否存在最优的设计方案?

在过往2年多,独立设计了几款产品,但对于注册登录流程,一直没有深入研究,心存疑虑。趁着最近的空闲,分析了33款APP的注册登录。

我将以上33款APP分为了以下7个维度进行对比分析,上一篇主要讲了3和4,点击这里可查看

这一篇主要写第5点:第三方授权,以微信授权为例

本文目录:

  1. 微信授权的基本原理
  2. 微信授权的注意事项
  3. 微信授权注册后,是否需要手机号

一、微信授权的基本原理

1. 微信授权流程

移动应用使用微信登录是基于OAuth2.0协议标准,构建的微信OAuth2.0授权登录系统。开发者在进行微信OAuth2.0授权登录接入之前,需要在微信开放平台注册开发者帐号,将自己的移动应用提交审核并通过,从而获得相应的AppID和AppSecret。申请接入微信登录且通过审核后,才可以开始接入流程。

具体细节可以参见微信开放平台的 移动应用微信登录开发指南

简单来说,微信的授权流程如下:

  1. 请求code:用户点击第三方应用的微信登录时,会对微信发起授权登录请求,用户允许授权给第三方应用后,微信会拉起应用或重定向到第三方网站,并且返回授权临时票据code参数;
  2. 通过code获取access_token:第三方应用通过code参数加上AppID和AppSecret等,通过API换取access_token;
  3. 通过access_token调用接口:第三方应用通过access_token请求微信进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。

2. 微信授权可获取的用户基本数据

授权后接口调用的官方说明:点击这里进行了解

了解微信授权可获取的用户基本数据,有利于合理使用和设计微信授权机制。

上图来自官方说明截图,可以看到所有可获取的用户数据。因此微信授权注册的好处,除了可以简化注册流程,同时还可以免去用户设置昵称、性别、地址信息、头像的步骤,对于社交类应用来说,是不错的选择。

二、微信授权的注意事项

从上面的图中可以看到两个字段,分别是:openid和unionid,这两个id的选用,对于第三方应用是需要特别注意的。

两者的区别在于:

  • openid:同一用户,对同一个微信开发平台开发者账号的不同应用,openid是不相同的;
  • unionid:同一用户,对同一个微信开放平台开发者账号的不同应用,unionid是相同的。

也就是说,如果同一个微信开放平台开发者账号下有多个应用,同一微信用户针对不同的应用,会拥有不同的openid。如果采用openid作为用户注册信息,则用户会在每个应用下,拥有一个账号。

而unioind是针对微信开发平台账号的,就算开发者拥有多个应用,用户的unionid都是唯一的,所以开发者可通过获取用户基本信息中的unionid来区分用户的唯一性。选择unionid作为用户的账号注册信息,可以方便对多应用的用户账号进行统一。

三、微信授权注册后,是否需要手机号

用户在完成微信授权后,获取并使用用户的openid/unionid作为注册信息,用户即可完成注册(建议产品经理朋友们,可以学习一下数据库基础,很有用)。因此,仅就注册功能的需求来说,手机号并不是必须的。

但是微信授权也存在着弊端,如通过微信授权的获取到的用户信息,无法与用户取得直接联系。这时就要根据实际情况判断,是否要求用户绑定手机号,以及在什么时候要求用户绑定手机号。

在本次调研的33款APP中,13款金融类的APP均不支持微信授权登录,除开政策因素,对于金融类产品,手机号是非常重要的用户信息,而微信授权后能获得的用户信息,对于社交功能非核心的应用来说,也没有太大的用处。

除开微信和13款金融APP,剩下的19款支持微信授权的APP中:

  • 10款在微信授权后必须绑定手机:平安好医生、微医、健康160、随手记、豆瓣、知乎、得到、趣头条、京东、网易考拉;
  • 2款在微信授权后提示绑定手机号但可以跳过:快手、抖音;
  • 7款授权后无需绑定手机:挖财记账、今日头条、网易严选、拼多多、陌陌、最右、微博。

也就是微信授权后,必须绑定手机的和无需绑定的,基本持平。

《中国人民共和国网络安全法》第二十四条 网络运营者为用户办理网络接入、域名注册服务,办理固定电话、移动电话等入网手续,或者为用户提供信息发布、即时通讯等服务,在与用户签订协议或者确认提供服务时,应当要求用户提供真实身份信息。用户不提供真实身份信息的,网络运营者不得为其提供相关服务。

根据网络安全法规定,涉及要用户发布信息、即时通讯功能的APP,都需要用户提供真实身份信息,而最方便获取和验证的,就是实名认证的手机号。

要求用户提供手机号,对于开发者来说是有利的。但微信授权之后,立刻要求绑定手机号,就无法体现出微信授权注册的简便,反而显得多余。

快手、抖音,在绑定手机页面提供一个跳过功能,是一个不错的折中的选择。陌陌在用户退出登录时,若该用户没有绑定手机会提示用户绑定,也是一个可以参考的解决方案。也可以考虑,当用户使用到这些必须实名认证的功能时,再提示绑定手机。

相关阅读

注册登录的设计:基于33款APP的注册登录分析(一)

 

作者:Arya.阿雅,公众号:aryawang419

本文由 @Arya.阿雅 原创发布于人人都是产品经理。未经许可,禁止转载

题图来自Unsplash,基于CC0协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 数据库基础学习有啥推荐吗

    来自上海 回复
    1. 书:SQL必知必会
      软件:程序媛app

      来自北京 回复
  2. 太赞了,细节决定成败,继续学习

    来自黑龙江 回复
  3. 催更呀!!!

    回复
    1. 最新一篇已经提审啦~

      来自广东 回复
  4. 学到了很多~催更下一篇~

    来自广东 回复
    1. 年后争取每月一篇,感谢关注。

      来自四川 回复
  5. openid或unionid作为账号,那密码呢?登录直接通过openid或unionid就可以登陆了吗?

    来自上海 回复
    1. 不是作为账号,而是作为保存用户信息的,数据库表中的唯一识别码。
      登录是通过微信授权登录就可以了。

      来自四川 回复
  6. 坐等第三篇 写的很详细!

    回复
  7. 好好好~~~辛苦了~~

    来自北京 回复
    1. 谢谢支持~ 😉

      来自广东 回复
  8. 写的很简洁,好棒

    来自北京 回复
    1. 谢谢支持~ 😉

      来自广东 回复
  9. 不错,收藏

    来自广东 回复
    1. 谢谢支持~ 😉

      来自广东 回复