Logto logo

Logto 是一款面向 SaaS 和 AI 应用的现代化开源认证基础设施。

Github: https://github.com/logto-io/logto
Website: https://logto.io/
它消除了 OIDC 和 OAuth 2.1 所带来的困扰,使构建具有多租户、企业级单点登录和基于角色的访问控制的高安全性、可生产化的认证变得十分简便。
在这里插入图片描述

为何选择 Logto?

专为需要扩展 SaaS、人工智能和基于代理的平台的团队而设计,无需应对常见的授权难题。
使用 Logto,您将获得:

  • 多租户、企业单点登录和基于角色的访问控制:即用即行,无需任何变通方法。
  • 预构建的登录流程、可定制的用户界面以及适用于 30 多种框架的 SDK。
  • 完全支持 OIDC、OAuth 2.1 和 SAML,无需处理协议相关问题。
  • 可直接用于模型上下文协议和基于代理的人工智能架构。

🗺️ See all features →

开始创建

  • Logto Cloud:体验 Logto 的最快方式。全面托管,无需任何设置

  • Launch Logto in GitPod: 只需几秒钟即可启动 Logto OSS。
    请等待消息应用程序在 https://3002-…gitpod.io 运行起来,然后点击以 https://3002- 开头的 URL 来继续操作。

  • Local development:

# Using Docker Compose(requires Docker Desktop)
curl -fsSL https://raw.githubusercontent.com/logto-io/logto/HEAD/docker-compose.yml | \
docker compose -p logto -f - up

# Using Node.js (requires PostgreSQL)
npm init @logto

📚 Full OSS installation guide →

随时随地整合

Logto 支持您所有的应用程序、API 和服务,并采用行业标准协议进行连接。

  • 适用于 30 多种框架的 SDK:React、Next.js、Angular、Vue、Flutter、Go、Python 等等。
  • 可连接任何身份提供商:谷歌、脸书、Azure AD、Okta 等等。
  • 灵活的集成方式:单页应用程序、网页应用、移动应用、API、设备到设备通信、命令行工具。
  • 支持模型上下文协议和基于代理的架构。

🚀 Explore quick starts →
🔌 See all connectors →

架构规划

为了在设计中建立最佳实践并规划你的架构,需要从不同的角度考虑你的需求。关注最终目标和工作流程,而不仅仅是底层技术和功能。以下是一些关键问题,可以指导和激励你为你的产品构建理想的架构。
你的商业模式是什么,涉及哪些关键方和利益相关者?
通常,有两种主要的商业模式,B2C 和 B2B,每种模式在复杂的身份管理场景中涉及不同的参与方。了解这些关键利益相关者有助于你设计出以用户为中心的系统,并解决身份管理的各个方面。

B2C

在 B2C 应用中,身份管理通常比较简单,通常只涉及两个参与方。
开发者(你)
这指的是 Logto 控制台管理员和协作者——通常是你和你的开发团队——管理和保护用户身份池,并直接与身份数据库交互。你可以直接在 Logto 控制台中管理客户身份,或使用 Logto Management API 进行自定义开发。
你的消费者
你的消费者是存储在 Logto 核心服务和数据库中的用户身份。在 B2C 模型中,消费者可以管理自己的认证 (Authentication) 和个人信息。

B2B

在 B2B 应用中,这种架构中引入了另一个层次和上下文。业务单元所有者(或组织)控制谁可以访问他们的实例、如何认证 (Authentication) 以及他们可以做什么。组织管理访问其实例的所有终端用户的身份。

开发者(你)
这仍然指的是 Logto 控制台管理员和协作者。虽然组织管理员可以管理身份,但开发者仍然可以直接在 Logto 控制台中管理客户身份,或通过使用 Logto Management API 进行自定义开发。
你的客户(组织管理员)
你的客户是代表多租户应用中“组织”的业务单元,例如 Slack 或 Notion 中的 工作区。每个工作区通常有多个角色和一个或多个管理员来管理员工或用户。在以下内容中,我们将能够管理成员身份的人称为“组织管理员”。
你的客户的员工、合作伙伴或消费者
这些是终端用户身份,在组织上下文中称为“成员”,可以在组织内进行管理。虽然这些身份由组织分隔,但它们都聚合在一个单一的身份系统下。

在现实场景中,从产品角度来看,这些可能是公司员工、业务合作伙伴,甚至是与组织相关的消费者。

其他

其他模型,如 B2B2C,可能由于其复杂性而从这两者中产生。然而,方法保持不变:所有变化都源于相同的核心基础。

构建B2C 服务的单租户架构

架构

在消费者应用程序中,用户完全拥有他们的账户并控制他们的身份和认证 (Authentication),没有来自其他“中间层”方(如企业或组织)的参与。这是 B2C 和 B2B 身份架构之间的关键区别。
在这里插入图片描述

构建你的 B2C 身份系统

构建流程

将你的需求与 Logto 的支持工具包连接

此架构包括两个主要参与管理场景的方。根据你的具体需求和目标,所有或仅部分这些方可能会参与其中。

我们总结了常见的用例,突出每个用户身份管理任务的关键目标以及我们提供的相关产品和 API。你可以将你的需求映射到我们的服务,以快速开始。

用户 目标 Logto 产品和 API
开发者 管理和保护用户身份系统,并直接与身份数据库交互。
终端用户 / 消费者 管理他们自己的认证 (Authentication) 和个人信息。

构建B2B 服务的多租户架构

架构

B2B 应用通常使用多租户架构。在这些应用中,用户拥有他们的账户并管理他们的身份和认证 (Authentication),同时涉及其他方,如企业或组织。终端用户身份通常不是个人消费者,而是企业组织内的员工或合作者。
在这里插入图片描述

B2B 功能

详情

将你的需求与 Logto 的支持工具包连接

此架构包括管理场景中涉及的三个主要方。根据你的具体需求和目标,可能涉及所有或仅部分这些方。
我们总结了常见的用例,突出每个用户管理任务的关键目标以及我们提供的相关产品和 API。你可以将你的需求映射到我们的服务,以快速开始。

用户 目标 Logto 产品和 API
开发者 管理和保护用户身份池,并直接与身份数据库交互。
组织管理员 自助组织管理与自定义功能,给予组织管理员对身份管理的完全控制。

  1. 自行创建组织
  2. 邀请成员加入
  3. 添加或删除成员信息并更新其角色
终端用户/组织成员 管理他们自己的系统级认证 (Authentication) 和个人信息。
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐