技术派如何实现微信公众号扫码登录,并讲清楚什么是半长连接,什么是 SSE,什么是半工单工和双工,WebSocket 和 SSE 的区别
实际体验过技术派的球友应该知道整个登录是基于微信公众号(个人号)来实现的,那么整套登录流程是怎么设计的呢?如果让我们自己来实现微信扫码登录该怎么去做呢?现在的方式有没有更好的替换方案呢?
这篇内容的风格和其他的文章可能不太一样,我们将以日常工作中一个功能相对完整的需求作为驱动,通过标准的方案设计来进行介绍说明。
方案设计
在产品的需求交底、评审过后,就到了我们研发人员出方案设计的时候。常见的方案设计有以下几个板块:
- 需求的相关理解及目标
- 研发的设计方案
- 相对完整的设计方案
- 前后端交互方式、接口 API 约定
- 测试要点
- 排期
- 验收标准
- 上线计划
当然我们这里并不会将所有的板块都填充上,重点会放在前面两点
1. 背景与目标
技术派作为一个文章分享社区,登录是基本的功能点;很多的功能都要求登录之后才能继续,比如发文、点赞、评论等。
2. 设计方案
基于登录这个需求场景,常见的登录方式有最经典的用户名/密码方式,也有近些年来广为普及的手机号/验证码的登录方式以及微信扫码登录。
2.1 用户名密码方式登录
用户名密码的登录方式,属于经典的实现方式,一般来讲,使用这种方式时,除了基础的登录之外,还需要搭配用户注册、忘记密码、修改密码等功能。
如上图,分别给出了注册、登录、忘记密码重置的流程示意图。
基于这种方案,我们的用户表中需要考虑下面几个关键信息
- userName: 用于登录的用户名
- password: 登录密码,注意 db 中不直接存储源码,常见的方案是将用户上传的密码 加盐之后计算 MD5 保存
- email/phone: 主要用于忘记密码时...
1 条评论
回复