Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

AWS Cognito

了解如何配置 LibreChat 以使用 AWS Cognito 进行用户身份验证。

在 Cognito 中创建新的用户池 (User Pool)

image

配置登录体验

您的 Cognito 用户池登录选项应包含 User NameEmail

image

配置安全要求

如果您愿意,现在可以配置密码要求。

image

配置注册体验

选择注册时所需的属性。最少需要 name。如果您希望要求用户在注册时使用其全名,请使用:given_namefamily_name 作为必需属性。

image

配置消息传递

使用 Cognito 发送电子邮件每天最多可免费发送 50 封。

image

集成您的应用

选择 Use Cognitio Hosted UI 并选择一个域名

image

将应用类型设置为 Confidential client 确保已设置 Generate a client secret。 将 Allowed callback URLs 设置为 https://YOUR_DOMAIN/oauth/openid/callback

image

Advanced app client settings 下,确保 Profile 已包含在底部的 OpenID Connect scopes 中。

image

检查并创建

您现在可以进行最后的修改,在检查完配置后点击 Create user pool

image

image

image

image

获取您的环境变量

  1. 打开您的 User Pool

image

  1. User Pool ID 和您的 AWS 区域将用于构建 OPENID_ISSUER(见下文)。

image image

  1. 前往 App Integrations 选项卡

image

  1. 打开应用客户端

image

  1. 切换 Show Client Secret

image

  • 使用 Client ID 作为 OPENID_CLIENT_ID

  • 使用 Client secret 作为 OPENID_CLIENT_SECRET

  • OPENID_SESSION_SECRET 生成一个随机字符串

OPENID_SCOPEOPENID_CALLBACK_URL 已预先配置为正确的值

  1. 打开 LibreChat 文件夹根目录下的 .env 文件,并添加以下变量以及您复制的值:
DOMAIN_CLIENT=https://your-domain.com # use http://localhost:3080 if not using a custom domain
DOMAIN_SERVER=https://your-domain.com # use http://localhost:3080 if not using a custom domain
 
OPENID_CLIENT_ID=Your client ID
OPENID_CLIENT_SECRET=Your client secret
OPENID_ISSUER=https://cognito-idp.[AWS REGION].amazonaws.com/[USER POOL ID]/.well-known/openid-configuration
OPENID_SESSION_SECRET=Any random string
OPENID_SCOPE=openid profile email
OPENID_CALLBACK_URL=/oauth/openid/callback
 
# Optional: redirects the user to the end session endpoint after logging out
OPENID_USE_END_SESSION_ENDPOINT=true
# Optional: generates the nonce url parameter.
OPENID_GENERATE_NONCE=true

[!WARNING]
如果 Cognito 配置了 OIDC 提供商(即联合到 Entra),则必须设置 OPENID_GENERATE_NONCE=true。否则,Cognito 无论如何都会生成一个 nonce,由于客户端没有提供,声明验证将会失败。

  1. 保存 .env 文件

注意:如果使用 Docker,请运行 docker compose up -d 以应用 .env 配置更改

这篇指南怎么样?