Back to Lobehub

在 LobeHub 中配置 AWS Cognito 身份验证

docs/self-hosting/auth/providers/cognito.zh-CN.mdx

2.1.562.9 KB
Original Source

配置 AWS Cognito 身份验证

<Steps> ### 创建 Cognito 用户池
  1. 前往 AWS Cognito Console
  2. 点击 Create user pool
  3. 配置登录体验:
    • 选择 Email 作为登录选项
    • 根据需要配置密码策略和 MFA 设置
    • 配置用户账户恢复选项

配置应用客户端

App integration 部分:

  1. 点击 Add an app client
  2. 选择 Confidential client 作为应用类型
  3. 输入应用客户端名称
  4. OAuth 2.0 grant types 下,启用 Authorization code grant
  5. OpenID Connect scopes 下,选择 emailopenidprofile

配置回调 URL

在应用客户端设置中,添加回调 URL:

<Callout type={'info'}> 回调 URL 格式:

- 本地开发: `http://localhost:3210/api/auth/callback/cognito`
- 生产环境: `https://your-domain.com/api/auth/callback/cognito`
</Callout>

配置域名

  1. 前往 App integration > Domain
  2. 配置 Cognito 域名(如 your-app-name)或自定义域名
  3. 记录完整域名(如 your-app-name.auth.us-east-1.amazoncognito.com

获取配置值

收集以下信息:

  • Client ID:来自应用客户端设置
  • Client Secret:来自应用客户端设置(点击 "Show client secret")
  • User Pool ID:来自用户池概览(如 us-east-1_XXXXXXXXX
  • Region:AWS 区域(如 us-east-1
  • Domain:你的 Cognito 域名

配置环境变量

环境变量类型描述
AUTH_SECRET必选会话加密密钥,使用 openssl rand -base64 32 生成
AUTH_SSO_PROVIDERS必选填写 cognito
AUTH_COGNITO_ID必选应用客户端 ID
AUTH_COGNITO_SECRET必选应用客户端 Secret
AUTH_COGNITO_DOMAIN必选Cognito 域名(如 your-app.auth.us-east-1.amazoncognito.com
AUTH_COGNITO_REGION必选AWS 区域(如 us-east-1
AUTH_COGNITO_USERPOOL_ID必选用户池 ID(如 us-east-1_XXXXXXXXX

<Callout type={'tip'}> 前往 📘 环境变量 可查阅相关变量详情。 </Callout> </Steps>

<Callout type={'info'}> 部署成功后,用户将可以通过 AWS Cognito 身份认证并使用 LobeHub。 </Callout>

相关资源