跳到主要内容

核心服务

介绍

核心服务 是一个用于 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 使开发人员能够实现核心认证 (Authentication) 功能,包括登录、注册、密码重置、社交账户绑定和多因素认证 (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> 附加到 Authorization 头中。

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

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

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

前端代理

前端代理 是一种中间件功能,以与环境相关的方式服务于前端项目:

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

Logto 有三个前端代理:

名称前端包挂载路径
管理控制台代理/packages/console/console
演示应用代理/packages/demo-app/demo-app
UI(登录体验)代理/packages/ui/
备注:

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