AWS Cognito
了解如何配置 LibreChat 以使用 AWS Cognito 进行用户身份验证。
在 Cognito 中创建新的用户池 (User Pool)
- 访问:https://console.aws.amazon.com/cognito/
- 以 Root 用户身份登录
- 点击
Create user pool
配置登录体验
您的 Cognito 用户池登录选项应包含 User Name 和 Email。
配置安全要求
如果您愿意,现在可以配置密码要求。
配置注册体验
选择注册时所需的属性。最少需要 name。如果您希望要求用户在注册时使用其全名,请使用:given_name 和 family_name 作为必需属性。
配置消息传递
使用 Cognito 发送电子邮件每天最多可免费发送 50 封。
集成您的应用
选择 Use Cognitio Hosted UI 并选择一个域名
将应用类型设置为 Confidential client
确保已设置 Generate a client secret。
将 Allowed callback URLs 设置为 https://YOUR_DOMAIN/oauth/openid/callback
在 Advanced app client settings 下,确保 Profile 已包含在底部的 OpenID Connect scopes 中。
检查并创建
您现在可以进行最后的修改,在检查完配置后点击 Create user pool。
获取您的环境变量
- 打开您的 User Pool
User Pool ID和您的 AWS 区域将用于构建OPENID_ISSUER(见下文)。
- 前往
App Integrations选项卡
- 打开应用客户端
- 切换
Show Client Secret
-
使用
Client ID作为OPENID_CLIENT_ID -
使用
Client secret作为OPENID_CLIENT_SECRET -
为
OPENID_SESSION_SECRET生成一个随机字符串
OPENID_SCOPE和OPENID_CALLBACK_URL已预先配置为正确的值
- 打开 LibreChat 文件夹根目录下的
.env文件,并添加以下变量以及您复制的值:
[!WARNING]
如果 Cognito 配置了 OIDC 提供商(即联合到 Entra),则必须设置OPENID_GENERATE_NONCE=true。否则,Cognito 无论如何都会生成一个 nonce,由于客户端没有提供,声明验证将会失败。
- 保存 .env 文件
注意:如果使用 Docker,请运行
docker compose up -d以应用 .env 配置更改
这篇指南怎么样?