跳到主要内容

核心服务

介绍

核心服务 是一个用于关键 Logto 职责的单体服务。源代码位于 @logto/core

备注:

核心服务SDK 核心 是两个独立的概念。请参阅 SDK 约定 了解它们之间的区别。

为了简化,我们将核心服务分为四个主要模块:

名称描述挂载路径
OIDC 提供者一个 OpenID 提供者/oidc
Logto APIManagement API, Experience API 和 Account API。/api
前端代理用于前端项目的 HTTP 代理或静态文件服务。

详情请参见 前端代理

包括 OIDC 在内的后端 API 是在 core 包中构建的,而前端代理则依赖于 Logto monorepo 中相应的兄弟包。

OIDC 提供者

Logto 在底层使用了出色的认证 OpenID Connect 实现 node-oidc-provider。提供者挂载在 /oidc,你可以在 packages/core/src/oidc 中查看相关配置和文件。

OIDC 用户信息端点 可用,并挂载在 /oidc/me

信息:

如果你想直接调用 OIDC API,请记得设置头部 Content-Type: application/x-www-form-urlencoded

启用的 OpenID 功能

Logto API

Management API

Management API 是一组管理和更新 Logto 数据的 API。只有具有 admin 角色的用户才能访问它们。

前往 API 参考 查看详细信息。

要以编程方式访问 API,请参阅 与 Management API 交互

Experience API

Experience API 是一组支持自定义登录界面交互的专用端点。

这些 API 使开发者能够实现核心认证功能,包括登录、注册、密码重置、社交账户绑定和多因素认证 (MFA)。要实现这些功能,你的自定义 UI 需要与 Experience API 交互。

为了更好地理解用户流程和实现细节:

Account API

Account API 是一组全面的 API,允许终端用户直接访问 API,而无需通过 Management API,以下是亮点:

  • 直接访问:Account API 使终端用户能够直接访问和管理自己的账户资料,而无需通过 Management API 中继。
  • 用户资料和身份管理:用户可以完全管理他们的资料和安全设置,包括更新电子邮件、电话和密码等身份信息,以及管理社交连接。MFA 和 SSO 支持即将推出。
  • 全局访问控制:管理员对访问设置拥有完全的全局控制,可以自定义每个字段。
  • 无缝授权:授权比以往更简单!只需使用 client.getAccessToken() 获取 OP (Logto) 的不透明访问令牌,并将其作为 Bearer <access_token> 附加到授权头。

通过 Logto Account API,你可以构建一个与 Logto 完全集成的自定义账户管理系统,如个人资料页面。

查看 通过 Account API 进行账户设置 以了解如何利用 Account API 构建自己的账户设置页面。

参考 Account API 参考 获取详细的 API 文档。

前端代理

前端代理 是一个以环境相关方式服务于前端项目的中间件函数:

  • 如果是开发环境,它会将 HTTP 请求代理到前端开发服务器。
  • 如果是生产环境,它会直接提供静态前端文件。

Logto 有三个前端代理:

名称前端包挂载路径
Admin Console 代理/packages/console/console
Demo app 代理/packages/demo-app/demo-app
UI (登录体验) 代理/packages/ui/
备注:

你可能会注意到 UI 代理使用根路径。与其他代理不同,UI 代理是一个回退代理,这意味着它仅在没有其他代理匹配时才生效。