如何为每个应用或组织自定义登录体验?
如何为多应用和多租户业务设置自定义登录体验。
如何为多应用和多租户业务设置自定义登录体验。
为你的应用设置登录流程是很常见的,但有时你会遇到一些复杂的情况,
最简单的方法是为所有应用和组织保持统一的登录体验。例如,HubSpot 提供多种产品,但它们的登录体验在所有产品中是一致的。这有助于突出母品牌,比如 HubSpot,而不是单个产品如 Marketing Hub。


一些企业采用多产品战略,但更愿意保持一个统一的用户池。例如,知名的 SaaS 公司 Atlassian 提供多个软件产品,如 Jira 和 Confluence。这是他们的登录屏幕。

登录 URL 包含参数 ?bundle=jira-software,用于表明这是 Jira 产品的登录界面。

登录 URL 包含参数 ?bundle=confluence,用于指定这是 Confluence 产品的登录界面。
应用之间在登录 UI 上的差异:
然而,关键的身份验证方法在所有应用中保持一致。这确保了用户拥有一个统一的个人资料,包括他们的标识符(电子邮件、社交账号)和认证因素(例如,密码),以便更有效的身份管理。

另一个例子是 Notion,一个允许不同客户托管独立工作区的多租户应用。例如,如果你输入
如果 "Silverhand" 是工作区名称,Notion 会显示组织特定的登录 UI。唯一的区别是标志,其他部分保持不变。
首先,你需要一个身份和认证解决方案作为基础来构建。以 Logto 为例来展示解决方案。Logto 提供了多种选项来实现这一点:
如果你只是想自定义 Logo 和按钮颜色,这是快速且简单的解决方案。

通过开启 "应用级登录体验",你可以为每个应用设置特定的品牌和颜色。当登录从启用了应用级品牌的应用启动时,登录体验将根据应用级品牌设置进行自定义;否则,将默认为全局登录体验设置。
应用级品牌提供了浅色和深色模式设置。深色模式设置仅在全局登录体验设置中启用深色模式时生效。

然后,在触发登录时,你可以在 organization_id 参数中传递组织 ID,以告知 Logto 显示哪个组织标志。例如,要显示组织 ID 123456 的组织标志:
signIn 方法的 extraParams 对象中传递 organization_id 参数。organization_id 参数。以下是在使用 Logto 浏览器 SDK 的 signIn 方法中传递 organization_id 参数的示例:
如果仅自定义标志和颜色不够——例如,你想隐藏特定的社交登录选项或完全改变外观和感觉——你可以将自己的 UI 上传到 Logto Cloud。
要根据应用或组织显示不同的 UI,请使用搜索参数中的 organization_id 和 app_id。然后,编写脚本根据这些参数控制 UI。更多细节,请参阅 "Bring Your Own UI" 教程。