请选择 进入手机版 | 继续访问电脑版

HTML5星空

多平台统一用户系统设计

[复制链接]
发表于 2017-7-29 05:14:24 | 显示全部楼层 |阅读模式

引言

现在越来越多的产品都实现了在不同平台上的功能支持。比如原来的 App 为了微信上的流量,开发了小程序。原来只做微信公众号的,后来为了更好的体验开发了 App 等等。这里面临用户账号迁移的问题。对于用户来讲,希望原来一个平台上的账号,在另外一个平台也能直接使用,而不需要重新注册。对于企业来讲,原来平台上的用户使用了新的平台,也希望能够识别是同一用户,对用户的分析可以更精确,从而带来一致的体验。

但是很多系统在开发初期没有做出有足够扩展的设计,在后续业务扩大的时候又急急忙忙,导致多平台统一用户的目标很难实现,造成很多意想不到的问题。

这篇文章里面我将说明一个自己的方案。从功能、数据表设计、接口设计三部分展开。能够在系统构建之初就为未来的需求提供足够扩展的可能。

系统中用户部分就基础的功能,包括注册,登录,绑定/解绑。下图中涵盖了市面上能看到几乎所有方式。

由于微信实在太过强大,基于微信平台上的子类型也需要考虑。

表结构的核心在于用户主表和平台用户表。用户主表对内,主要用于系统内部使用。平台用户表,则作为第三方平台与系统内部打交道的通道。系统的复杂度就只在于这两张表之间的逻辑了。

注意:用户表设计未考虑到足够的安全策略。正确的方式是需要对密码进行加盐Hash保护。相关可参见“阅读原文”中的链接。

图示中的接口,在设计时考虑了两点:

  1. 接口返回用户信息时以有时效的 token 作为用户标识。可以在一定程度上实现接口的保护。

  2. 其他需要用户信息的接口,通过 token 参数在服务端获取到真正的用户ID,再进行操作。

以上就是多平台统一用户系统的设计要点。对于系统的快速起步开发已经足够了,也不需要担心未来扩展平台的问题。

打好基础,以后事半功倍。

获取思维导图源文件,请加QQ群:429039234

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快讯
发布主题 快速回复 返回列表

     京ICP备14042305号

html5star team © 2012-2013 html5星空 Comsenz Inc.

GMT+8, 2018-12-14 03:48 , Processed in 0.230421 second(s), 35 queries .

快速回复 返回顶部 返回列表