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

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

背景

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

结语

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

相关文章
|
1月前
阿里云国际版账号登录不上去,账号被风控怎么办?
阿里云国际版账号登录不上去,账号被风控怎么办?
|
6月前
|
存储 弹性计算 网络协议
阿里云权益中心为学生、个人开发者及企业用户提供的优惠权益介绍
阿里云权益中心是一个致力于助力学生、个人开发者、企业用户快速上云的平台。该平台提供了丰富的云产品和服务,包括经济型云服务器、建站套餐、普惠云产品等,旨在满足用户多元化的需求。此外,阿里云权益中心还为用户提供了免费试用的机会,最长可免费试用12个月,让用户能够零门槛上云创新。
阿里云权益中心为学生、个人开发者及企业用户提供的优惠权益介绍
|
11月前
|
运维 监控 安全
特权账号管理之金融行业篇
“特权账号”几乎成了黑客必窃取的类目。原因很简单:入侵者需要获取到特权凭证,获取进入数据中心核心系统权限,盗取数据。特权凭证成了窃取数据所必要的前提条件。
63 1
特权账号管理之金融行业篇
阿里云账号实名认证个人和企业的区别及潜在问题说明
阿里云账号实名认证分为个人认证和企业认证,阿里云个人认证和企业认证有什么区别?
|
大数据 API
如何运用实名认证接口管理网络平台用户
实名认证,从字面上理解是对“真实姓名”进行认证的一种手段,但在互联网时代,“真实姓名”不一定就是表面上的个人姓名,因为还有比姓名更能证明你是你的要素,比如手机号、身份证号、银行卡号等,这些要素的背后,都是个人进行身份认证的证明,对于互联网平台的身份验证,具有很高的验证价值。
280 0
如何运用实名认证接口管理网络平台用户
|
云栖大会 开发者
【用户权益中心】社区用户权益领取说明
【用户权益中心】社区用户权益领取说明
2702 4
|
云安全 安全 Cloud Native
IDaaS企业身份管理训练营火热报名中!体验新一代企业云身份服务
阿里云开发者社区联合阿里云应用身份服务IDaaS团队推出IDaaS企业身份管理训练营,五节课带开发者进一步了解学习IDaaS的实际应用,体验新一代企业云身份服务。
IDaaS企业身份管理训练营火热报名中!体验新一代企业云身份服务
|
安全 测试技术
软件测试能力认证联盟(CBSTC)章程发布、网站和会员申请通道同时开通
020年10月13日在腾讯品质峰会现场,腾讯、阿里巴巴、华为、软通动力、北京大学、南京大学和同济大学共七家单位的代表,共同按下启动按钮,宣布 “软件测试能力认证联盟“(The Certification Board of Software Testing Competency,CBSTC)正式成立,详见 共建世界级测试标准,“软件测试能力认证联盟”正式宣告成立 。
555 0
软件测试能力认证联盟(CBSTC)章程发布、网站和会员申请通道同时开通
基于账户的营销平台
本文研究全球及中国市场基于账户的营销平台现状及未来发展趋势,侧重分析全球及中国市场的主要企业,同时对比北美、欧洲、中国、日本、东南亚和印度等地区的现状及未来发展趋势
|
云安全 运维 监控
直播预告 | 多账号架构下的身份权限与网络安全新能力发布
新品发布会即将来袭,多账号架构企业到底如何更高效更安全的管理云端?所有干货尽在6月9日直播间!
285 0