認証システム
このガイドでは、安全で簡単なメールおよびソーシャルログインを提供するLibreChatのユーザー認証システムの使用方法を説明します。サインアップ、ログイン、パスワードリセットなどの設定方法を学びます。
一般
概要については、こちらで提供されているユーザーガイドを参照してください: Authentication
一般的な設定の概要は以下の通りです。
| Key | Type | Description | Example |
|---|---|---|---|
| ALLOW_EMAIL_LOGIN | boolean | メールログインのみを有効または無効にします。 | ALLOW_EMAIL_LOGIN=true |
| ALLOW_REGISTRATION | boolean | 新規ユーザーのメール登録を有効または無効にします。 | ALLOW_REGISTRATION=true |
| ALLOW_SOCIAL_LOGIN | boolean | ユーザーがさまざまなソーシャルネットワークを使用してLibreChatに接続できるようにします。 | ALLOW_SOCIAL_LOGIN=false |
| ALLOW_SOCIAL_REGISTRATION | boolean | さまざまなソーシャルネットワークを使用した新規ユーザーの登録を有効または無効にします。 | ALLOW_SOCIAL_REGISTRATION=false |
注: OpenID および SAML は、登録のみを無効にする機能をサポートしていません。
クイックヒント:
- 登録が無効になっている場合でも、以下で詳述する the create-user script を使用して、データベースに直接ユーザーを追加できます。
- ユーザーを削除するには、以下で詳しく説明されているdelete-userスクリプトを使用できます。
セッションの有効期限とリフレッシュトークン
- デフォルト値: セッションの有効期限: 15分、リフレッシュトークンの有効期限: 7日
- 詳細については、こちらをご覧ください: GitHub PR #927 - Refresh Token
| Key | Type | Description | Example |
|---|---|---|---|
| SESSION_EXPIRY | integer (milliseconds) | セッションの有効期限。 | SESSION_EXPIRY=1000 * 60 * 15 |
| REFRESH_TOKEN_EXPIRY | integer (milliseconds) | リフレッシュトークンの有効期限。 | REFRESH_TOKEN_EXPIRY=(1000 * 60 * 60 * 24) * 7 |
JWT Secret と Refresh Secret
- 新しい安全な値を使用する必要があります。提供されている例は32バイトのキー(16進数で64文字)です。
- 以下のツールを使用して、いくつか素早く生成してください: JWT Keys
| Key | Type | Description | Example |
|---|---|---|---|
| JWT_SECRET | string (hex) | JWTシークレットキー | JWT_SECRET=16f8c0ef4a5d391b26034086c628469d3f9f497f08163ab9b40137092f2909ef |
| JWT_REFRESH_SECRET | string (hex) | JWTリフレッシュシークレットキー | JWT_REFRESH_SECRET=eaa5191f2914e30b9387fd84e254e4ba6fc51b4654968a9b0803b456a54b8418 |
自動モデレーションシステム (オプション)
自動モデレーションシステムはデフォルトで有効になっています。このシステムはスコアリングメカニズムを使用して、ユーザーの違反を追跡します。ユーザーが過度なログイン、登録、メッセージ送信などの行為を行うと、違反スコアが蓄積されます。設定されたしきい値に達すると、そのユーザーとIPアドレスは一時的にBAN(禁止)されます。このシステムは、急速な、または疑わしいアクティビティを監視およびペナルティを課すことで、プラットフォームのセキュリティを確保します。
mod systemをセットアップするには、セットアップガイドを確認してください。
注意: 開発モードで動作させるには、ルートディレクトリに
.env.developmentという名前のファイルを作成し、DOMAIN_CLIENTをhttp://localhost:3090、またはnpm run frontend-devを実行した際に vite によって提供されるポート番号に設定する必要があります。
ユーザー管理スクリプト
ユーザー・スクリプトの作成
create-user スクリプトを使用すると、登録が無効になっている場合でも、データベースに直接ユーザーを追加できます。使用方法は以下の通りです:
-
デフォルトの
docker-compose.ymlの場合(docker compose upを使用してアプリを起動する場合): -
deploy-compose.ymlについては(Ubuntu Docker Guide に従った場合): -
ローカル開発用(プロジェクトルートから):
プロンプトに従って、新しいユーザーのメールアドレスとパスワードを入力してください。
ユーザー削除スクリプト
ユーザーを削除するには、delete-user スクリプトを使用できます:
-
デフォルトの
docker-compose.ymlの場合(docker compose upを使用してアプリを起動する場合): -
deploy-compose.ymlについては(Ubuntu Docker Guide に従った場合): -
ローカル開発用(プロジェクトルートから):
[email protected] を、削除したいユーザーのメールアドレスに置き換えてください。
このガイドはいかがでしたか?