玩转用户身份权益——详解闲鱼身份权益体系的实现

简介: 本文以闲鱼的身份权益体系实现为例,介绍了如何对常见的用户身份权益体系进行概念定义、模块拆解、技术实现。

背景

用户身份权益体系(或会员权益体系)几乎是各大成熟app的标配,用户身份权益体系通过对用户赋予身份(会员、等级)的方式,提供不同级别的产品权限给不同的用户,是用户活跃度运营以及商业化的重要工具。同时,用户身份也是用于区分用户影响力、优质程度等关键能力的重要标记(如微博的大v),对于不论是电商类还是社交类产品,都有着非常关键的作用。
本文将从技术实现的视角,以闲鱼app的用户身份权益体系为例,介绍如何设计一个具有良好扩展性的用户身份权益体系。

问题与挑战

  • 【身份权益的管理】在常见身份权益管理场景中,用户可以同时获得多个不同的身份、多个身份可能持有重叠的权益、相同的权益可能存在内容上的差异(如数量大小)、权益重复时需要处理权益的合并策略。如何对身份、权益的概念进行抽象设计,是整个系统最核心需要解决的问题。
  • 【身份的透出】当用户获得了一个身份,不论是大v标记还是会员等级,都希望在app上进行显示,以传递身份特有的心智,不同身份可能有同样的标签(例:闲鱼的领域卖家、会玩达人都显示v标),同一身份可能有不同的个性化标签内容(例:某某领域达人),如何统一管理用户身份在app全链路的透出,也是身份权益体系需要解决的一个问题。
  • 【身份的赋予】不同的产品中,身份的赋予方式各不相同,常见的有付费购买、积分升级、认证、运营加白等等,在赋予过程中还会加入丰富的升级路线(等级体系等),同一产品中多见的会同时具备多种赋予的方式。如何支持多元的身份赋予途径,以及如何支持不同身份的扩展,也是技术上需要解决的一个重要问题。

本文将以闲鱼的身份权益体系为例,针对身份权益体系中的身份权益的定义、管理,身份的透出进行了详细的介绍,同时以闲鱼的用户认证流程为例,介绍了如何解耦身份管理与身份赋予两个过程,并在身份赋予过程中做到身份的可扩展。

技术实现

概念梳理

image.png

  • 身份是指,用户满足某些准入条件后,被授予的一个身份标记。一个身份在技术实现上,是一个和用户关联的记录/系统标签。
  • 权益是指,用户因为具有某个身份,而获得的在现有的一些业务中的一些特权。我们用一个键值对表示一条权益,key表示的是权益,value表示的是权益的值,这个值可以是一个数字、boolean、一个带占位符的文本等,权益的提供方根据这个权益的值提供具体的权益。
  • 透标标签是指,根据某个身份外显权益而获得的一个基于用户的可展示的描述符,这个描述符可以在客户端和前端页面进行渲染,从而实现身份的外显。一个标签的描述可以是:一个文本、一个图片url、一组客户端可以识别的元素等,客户端根据这个标签的内容进行渲染。
  • 认证是指,用户因希望获得某个身份而发起的一个认证申请,认证后会获得一个身份。一个认证在技术实现上是一条认证记录,包括了认证的状态、这次认证所关联的信息(包括提交的表单,审核的结果等)。

注:认证是获得身份方式的一种,本文以认证流程为例,介绍如何实现一个身份赋予的过程。值得注意的是,在我们的设计中,身份的透出,作为一种权益进行设计。

系统拆分

image.png
我们对应的将系统拆分为三个独立的模块:身份权益服务、用户标签服务、认证服务(以认证服务为代表的身份赋予模块)。
对于三个系统的功能和边界定义如下:

  • 【身份权益服务】:管理用户的身份以及身份-权益的关系,运营可以通过系统配置身份对应的权益,系统能够对用户的权益进行计算、合并,权益提供方可以通过身份权益服务查询用户的权益。
  • 【用户标签服务】:根据用户的权益、个性化数据以及其他外部服务等,按规则向全链路下发用户的透标标签。全链路的各个场景可以用不同规则查询当前场景可渲染的用户标签,标签系统对不同的规则可以有差异化的定制,做到不同场景按需订阅、扩展。
  • 【认证服务】:管理用户的认证流程,用户通过认证服务发起申请,系统对用户的准入和表单进行校验,将表单转发给运营审核,并对审核结果进行处理。认证通过后,通过身份权益服务接口对用户进行身份添加。同理,不论是积分、白名单还是用户等级体系,均可以以这种方式进行接入。

基于上述的设计,用户通过认证服务获得身份,权益提供方根据身份权益服务查询相应的权益提供特权,用户标签服务对其中的透标权益进行支持,在app侧渲染用户的身份,从而实现身份外显,完整的满足了用户身份认证-透标的能力。
下面展开介绍各个系统分别是如何实现的。

【身份权益服务】实现

image.png
【身份权益服务】基于身份权益配置和用户标签系统(集团中台的用户标签服务)实现。我们将身份权益的配置,写入到身份权益配置表,编辑完成后,通过配置中心,发布到各个服务器的内存中。
另一方面,用户认证流程、白名单等服务通过身份服务接口将身份写入到UIC的标签系统中,标签系统是集团实现的用户-标签的管理系统,可以基于缓存快速查询用户是否具有某个标签,一个身份由一个标签表示(没有标签系统的话也可以用数据库+缓存的方式实现)。
在权益提供方查询用户权益时,我们快速从用户标签系统中读取用户的全部身份标,根据内存中身份-权益的配置,通过一个身份-权益计算函数(输入身份标和权益配置schema,输出权益),对权益进行合并、择优去重后(不同权益的合并方式按权益配置,如逻辑或、最大值、字符连接等),将计算结果(权益)返回给权益提供方。

【用户标签服务】实现

image.png
【用户标签服务】实现了用户维度的标签透出。服务可以基于身份权益服务、用户个性化数据、外部服务等,返回用户需要透出的标签,标签的描述包括但不限于图片url,文本,复杂结构等。服务支持通过规则id进行定制,不同的规则id,可以定制需要透出的标签的组合,各个场景根据需要展示的标签,选用合适的规则id进行订阅,在原规则id不适用的情况下,可以定义新的规则id进行支持。

【认证服务】实现

image.png
【认证服务】定义了一套标准的认证流程,统一对认证的状态进行管理,同时通过扩展接口,让不同认证流程的业务对扩展接口进行实现,从而实现流程标准化,内容可扩展。
认证服务的整体流程分为认证查询、表单提交、审核结果处理三个阶段,在认证流程中,系统维护了未认证、审核中、审核未通过、审核通过四个不同的状态,不同的认证流程具有相同的状态流转,由认证服务统一维护。
在认证查询中,不同的认证流程具有不同的准入条件;在表单提交过程中,不同的认证流程具有不同的表单字段和合法性要求;在审核结果中,针对审核结果不同认证流程有不同的处理方式。因此,认证流程提供了三个扩展接口,第一个扩展接口用于实现获取用户的准入条件判定和表单渲染;第二个扩展接口用于用户表单的校验,同时生成审核用的数据表单;第三个扩展接口用于对审核结果进行处理。于是在我们的认证服务上,只需要实现上述三个扩展接口,就能完成一套新的认证流程的接入。

结语

本文以闲鱼的身份权益体系实现为例,介绍了如何对身份权益体系进行概念定义、模块拆解、技术实现,同时以闲鱼的身份认证流程为例介绍了如何实现、接入不同的身份赋予渠道,希望对大家系统中的身份权益设计起到一些参考作用。

相关文章
支付系统03------支付指引,开启支付的前置条件,公户,如果是企业要准备营业执照,组织机构代码证,对公银行账户,法人身份证
支付系统03------支付指引,开启支付的前置条件,公户,如果是企业要准备营业执照,组织机构代码证,对公银行账户,法人身份证
|
6月前
|
存储 弹性计算 网络协议
阿里云权益中心为学生、个人开发者及企业用户提供的优惠权益介绍
阿里云权益中心是一个致力于助力学生、个人开发者、企业用户快速上云的平台。该平台提供了丰富的云产品和服务,包括经济型云服务器、建站套餐、普惠云产品等,旨在满足用户多元化的需求。此外,阿里云权益中心还为用户提供了免费试用的机会,最长可免费试用12个月,让用户能够零门槛上云创新。
阿里云权益中心为学生、个人开发者及企业用户提供的优惠权益介绍
|
11月前
|
运维 监控 安全
特权账号管理之金融行业篇
“特权账号”几乎成了黑客必窃取的类目。原因很简单:入侵者需要获取到特权凭证,获取进入数据中心核心系统权限,盗取数据。特权凭证成了窃取数据所必要的前提条件。
63 1
特权账号管理之金融行业篇
|
6月前
|
存储 安全 数据处理
教育行业为什么管理特权账号?
随着数字化时代的到来,账号安全变得更加关键。特权账号管理系统通过集中管理,系统的风险监测功能,时刻关注着潜在的风险,成为我们在这个数字时代的安全伴侣。帮助我们建立了坚固的数字安全防线,让我们能够在账号管理方面更加自信,更加从容。
45 0
教育行业为什么管理特权账号?
阿里云账号实名认证个人和企业的区别及潜在问题说明
阿里云账号实名认证分为个人认证和企业认证,阿里云个人认证和企业认证有什么区别?
|
大数据 API
如何运用实名认证接口管理网络平台用户
实名认证,从字面上理解是对“真实姓名”进行认证的一种手段,但在互联网时代,“真实姓名”不一定就是表面上的个人姓名,因为还有比姓名更能证明你是你的要素,比如手机号、身份证号、银行卡号等,这些要素的背后,都是个人进行身份认证的证明,对于互联网平台的身份验证,具有很高的验证价值。
280 0
如何运用实名认证接口管理网络平台用户
|
云栖大会 开发者
【用户权益中心】社区用户权益领取说明
【用户权益中心】社区用户权益领取说明
2713 4
阿里云账号个人实名认证和企业实名认证有何区别?企业实名有何优势?
本文介绍了阿里云个人实名认证账号与企业实名认证账号的区别以及选择企业实名认证有何优势。
1257 0
阿里云账号个人实名认证和企业实名认证有何区别?企业实名有何优势?
|
安全 测试技术
软件测试能力认证联盟(CBSTC)章程发布、网站和会员申请通道同时开通
020年10月13日在腾讯品质峰会现场,腾讯、阿里巴巴、华为、软通动力、北京大学、南京大学和同济大学共七家单位的代表,共同按下启动按钮,宣布 “软件测试能力认证联盟“(The Certification Board of Software Testing Competency,CBSTC)正式成立,详见 共建世界级测试标准,“软件测试能力认证联盟”正式宣告成立 。
558 0
软件测试能力认证联盟(CBSTC)章程发布、网站和会员申请通道同时开通
基于账户的营销平台
本文研究全球及中国市场基于账户的营销平台现状及未来发展趋势,侧重分析全球及中国市场的主要企业,同时对比北美、欧洲、中国、日本、东南亚和印度等地区的现状及未来发展趋势
下一篇
无影云桌面