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で新しいユーザープールを作成する

image

サインインエクスペリエンスの設定

Cognitoユーザープールのサインインオプションには、User NameEmailを含める必要があります。

image

セキュリティ要件の設定

必要に応じて、パスワードの要件を今すぐ設定できます。

image

サインアップ体験の設定

サインアップ時に必須とする属性を選択します。最低限必要なのは name です。ユーザーにサインアップ時にフルネームの使用を義務付けたい場合は、必須属性として given_name および family_name を使用してください。

image

メッセージ配信の設定

Cognitoを使用したメール送信は、1日あたり最大50通まで無料で利用できます。

image

アプリを統合する

Use Cognitio Hosted UI を選択し、ドメイン名を選択します

image

アプリの種類を Confidential client に設定します。 Generate a client secret が設定されていることを確認してください。 Allowed callback URLshttps://YOUR_DOMAIN/oauth/openid/callback に設定します。

image

Advanced app client settings の下で、OpenID Connect scopes(一番下にあります)に Profile が含まれていることを確認してください。

image

確認と作成

最後に変更を加えることができます。設定の確認が完了したら、Create user pool をクリックしてください。

image

image

image

image

環境変数を取得する

  1. ユーザープールを開く

image

  1. User Pool ID と AWS リージョンを使用して OPENID_ISSUER を構築します(下記を参照)。

image image

  1. App Integrations タブに移動します

image

  1. アプリクライアントを開く

image

  1. Show Client Secret を切り替える

image

  • OPENID_CLIENT_ID には Client ID を使用してください。

  • OPENID_CLIENT_SECRET には 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 を提供していないにもかかわらず)独自に nonce を生成してしまい、クレームの検証が失敗します。

  1. .env ファイルを保存します

注: Dockerを使用している場合は、docker compose up -d を実行して .env の設定変更を適用してください。

このガイドはいかがでしたか?