身份认证(Logto)
符合 OIDC 标准的托管身份认证,支持社交登录、JWT 令牌,并提供功能完备的管理控制台。
创建认证服务器
创建新的认证实例:
- 在 sh0 控制台中进入 Auth Servers 部分。
- 点击 Create Auth Server。
- 为认证实例输入名称(例如“my-app-auth”)。
- 选择要连接的 PostgreSQL 数据库服务器。
- 点击 Create。sh0 会部署一个启用自动 SSL 的 Logto 实例。
Tip
认证服务器的名称会成为域名的一部分(例如
my-app-auth.sh0.app)。请选择一个具有描述性的名称。连接 PostgreSQL
每个 Logto 实例都需要一台 PostgreSQL 数据库服务器来存储用户数据、会话和配置。sh0 会自动:
- 在您的 PostgreSQL 服务器中创建专用数据库。
- 为 Logto 配置连接字符串。
- 运行 Logto 的初始迁移。
您的用户数据永远不会离开您的服务器,它存储在由您掌控的同一个 PostgreSQL 实例中。
管理控制台
每个 Logto 实例都包含功能完备的管理控制台,可通过您的认证域名访问。在控制台中,您可以:
- 管理用户(创建、编辑、删除、重置密码)。
- 配置登录体验(品牌、颜色、徽标)。
- 设置应用及其重定向 URI。
- 添加社交登录连接器(Google、GitHub 等)。
- 查看审计日志和会话活动。
- 启用 MFA(基于 TOTP)。
登录方式
Logto 开箱即支持多种登录方式:
| 方式 | 说明 |
|---|---|
| 邮箱 + 密码 | 传统的邮箱/密码登录,附带邮箱验证 |
| 无密码(邮箱) | 通过邮件发送魔法链接或验证码 |
| 社交登录 | Google、GitHub、Apple、Discord 等 |
| 手机 + 短信 | 短信验证码(需要短信连接器) |
社交连接器
要添加社交登录提供商,请打开 Logto 管理控制台,进入 连接器,然后添加新的社交连接器。您需要从提供商处获取 OAuth 客户端 ID 和密钥(例如 Google Cloud Console、GitHub Developer Settings)。
SDK 集成
Logto 为主流框架提供官方 SDK:
| 平台 | 软件包 |
|---|---|
| 浏览器(SPA) | @logto/browser |
| React | @logto/react |
| Next.js | @logto/next |
| Vue | @logto/vue |
| Node.js (Express) | @logto/express |
| Python | logto-sdk-python |
基础集成需要两个配置值:endpoint(您的认证域名)和 appId(来自 Logto 管理控制台)。
JWT 验证
Logto 签发标准的 OIDC 令牌(访问令牌、ID 令牌、刷新令牌)。要在您的 API 中验证令牌:
- 从
https://<your-auth>.sh0.app/oidc/.well-known/openid-configuration获取 JWKS。 - 使用公钥验证令牌签名。
- 检查
iss、aud和exp声明。
Tip
如果您使用 PostgREST,请为其配置相同的 JWT 密钥或 JWKS URL。Logto 令牌可直接通过 PostgREST 的 JWT 验证。