为什么多应用业务需要集中身份系统
本文旨在帮助你为多应用业务开发安全且可扩展的身份认证系统。我们将介绍最佳实践,需要考虑的关键因素,并提供快速启动指南,让你走在正确的轨道上。
建立一个身份系统是一项复杂的任务,需要对业务模型和需求进行深入的评估。随着业务的增长和扩张,建立多个应用成为了自然的步骤。把身份基础设施放在首位是在多应用业务中成功的关键。
在这篇文章中,让我们探讨一下构建一个可靠的多应用业务身份系统所涉及的最佳实践和细节,并深入研究应该考虑的因素。
什么是多应用业务,哪些类型的产品可以从这种策略中受益?
多平台
最简单的情况就是一家拥有 web,移动设备和原生(iOS 或 Android)版本的业务,身份系统是统一的。建议将每个版本标为一个独立的应用,因为它们是对客户不同的供应。这使你可以:
- 通过分析单一应用的使用行为和审计日志,提升增长和安全性。
- 判定通过频道的收购业绩和流量。
- 按应用优先制定开发和分发策略。
多元化的产品线或一套服务
另一种情况是当公司希望在所有产品中维护一致的品牌身份,同时允许每个产品拥有其自己独特的应用,以满足不同客户群体的需要。让我们来看一个真实的例子。
Spotify 就是这种方法的一个很好的例子。它提供各种各样的应用,包括 Spotify for Podcasters,Spotify Stations,以及 Spotify Connect,除了其主要的应用,都有一个统一的登录体验和一个用户身份系统。
同样地,一个健康和健身公司可能会为瑜伽,跑步和举重创建单独的应用,每个应用都有其独特的特性,内容和用户界面。
多方市场
另一个典型的情况是多方市场模式,公司通过促进两个或者更多的客户群体间的交互创建价值。
例如,Uber 和 Airbnb 促进乘客和司机,或者旅行者和房东间的交互。为了使这种需求-供应交换成为可能,公司可能会开发多个产品。
一个统一的用户系统可以为市场的两边提供许多优点。用户可以在各种应用间享受无缝的体验,避免设置多个账户的麻烦。而且,它也适应了一个群体向另一个群体转移的情景。
访问控制和先进的授权功能可以进一步加强这个最佳实践。
为什么集中的身份系统如此重要,而没有它会带来哪些风险?
对于在一个公共问题空间或领域内的多应用业务策略,应该考虑实施一个集中的身份系统。
在需要时,它可以有利于隔离和分散身份。另一方面,如果一开始就创建了多个身份,在合并和删除不需要的用户身份时,可能会成为一个繁琐且令人沮丧的任务,这将对任何类型的业务构成高风险:
- 多账户问题: 缺乏一个统一的用户系统可能导致用户必须为每个应用创建并管理多个账户,从而导致一种分散且令人沮丧的用户体验。比如,用户可能忘记他们的登录凭据,从而导致账户丢失并增加了企业的支持负担。
-
- 提高开发复杂性和成本 * : 开发人员可能在为每个应用构建和维护不同的用户身份认证和授权系统时遇到挑战,从而增加了务复杂性和成本。不适当的实施可能导致应用间的差异,对最终客户构成相当大的风险。
- 用户访问管理挑战 : 缺乏集中的用户系统可能会在跨多个应用管理用户访问和权限时产生挑战,需要在各种身份系统中建立不同的授权策略,以及额外的努力来识别正确的用户。
-
- 合规性和隐私问题 * :为了遵守规定和解决隐私问题,企业必须恰当地管理用户身份和数据。一个非集中的身份系统可能会增加完成如及时删除用户数据等任务的额外努力或难度,导致潜在的罚款和罚单。
- 安全漏洞 : 非集中的身份系统中的共享密码和弱身份验证机制可能会创造安全漏洞,影响多个应用。它可以减少用户需要与每个应用分享的个人信息的数量。
实现集中身份系统,请执行以下操作
选择身份和架构适配解决方案
市场上有很多身份解决方案,但一些可能太复杂或缺乏可扩展性和灵活性。在选择身份管理系统时,需要考虑其架构以及它如何适应你的多应用情境。
定义访问控制
定义访问控制在确保身份系统安全中至关重要。访问控制指定了哪些用户有权限访问特定资源,并且在何种级别,跨越各种应用。这个定义使得能够保护敏感数据并建立适应性的授权机制。
设计一个协同的登录体验
登录流程应该是统一的,涵盖所有的产品,并且应用的身份验证方法应该无缝地运作。优先考虑在不同的应用中保持一致的品牌和外观至关重要,因为做不到可能会损坏客户的信任。
不要忽视可扩展性
你的身份系统应该能够适应未来的增长。考虑一下可能在将来增加的用户和应用数量,选择一个能够容纳这些变化的解决方案。
使用 Logto 进行多应用业务身份
Logto 是多应用业务的理想选择,支持从启动到企业的增长。我们的原始架构和辅助功能赋予了各大小型企业的力量。
为多应用设计的架构
用户能够创建一个单一的租户,托管多个应用,提供了在管理用户和跟踪应用间日志方面的灵活性。
通用的登录体验
登录体验适用于租户内的所有应用,无需将认证和品牌设置复制或转移到每个应用。
集中的用户管理
Logto 提供一个集中的用户池来管理所有租户用户,连同一个针对更具体需求的高级搜索 API 进行更有针对性的管理。
基于角色的访问控制
Logto 提供了一个简单却有效的 RBAC 支持,使其成为多应用场景的绝佳补充,增强了具有多个应用的复杂企业的安全性。