Keycloak
LibreChatでユーザー認証にKeycloakを使用するための設定方法を学びます。
- Keycloak管理コンソールへのアクセス:
- WebブラウザでKeycloak管理コンソールを開きます。これは通常、
http://localhost:8080/auth/admin/のようなURLでアクセスできます。
- レルムを作成する(必要な場合):
- アプリケーション用のレルムをまだお持ちでない場合は、作成してください。「Add Realm」をクリックし、名前を付けます。
- クライアントを作成する:
- 管理画面内で、「Clients」をクリックし、「Create」をクリックします。
- クライアントIDを入力し、クライアントプロトコルとして「openid-connect」を選択します。
- 'Client Authentication' を 'On' に設定します。
- 'Valid Redirect URIs' に、
http://localhost:3080/oauth/openid/callbackまたはアプリケーションに適したURIを入力してください。
- クライアントの設定:
- クライアントを作成した後、その設定ページにリダイレクトされます。
- 'Credentials' タブにある 'Client ID' と 'Secret' をメモしておいてください。これらはアプリケーションで必要になります。
- ロールの追加(オプション): 特定のロールを持つユーザーにアクセスを制限したい場合は、Keycloakでロールを定義し、それらをユーザーに割り当てることができます。
- クライアントまたはレルムの「Roles」タブに移動します(ロールを定義する場所に応じて異なります)。
OPENID_REQUIRED_ROLEに設定した値と一致するロールを作成します。
- ユーザーにロールを割り当てる(オプション):
- 「Users」に移動し、ユーザーを選択して、「Role Mappings」タブに移動します。
OPENID_REQUIRED_ROLEで指定されたロールのうち、少なくとも1つをユーザーに割り当ててください。
- トークン内のロールリストのパスを取得(オプション):
- OpenIDプロバイダーから取得したjwtTokenをデコードし、アクセストークン内のロールリストへのパスを特定します。例えば、Keycloakを使用している場合、パスは
realm_access.rolesとなります。 .envファイルのOPENID_REQUIRED_ROLE_PARAMETER_PATH変数にこのパスを入力してください。- パラメータ
OPENID_REQUIRED_ROLE_TOKEN_KINDを使用して、使用するトークンの種類を指定できます。 指定可能な値はaccessおよびidです。
- プロジェクトの設定を更新する:
- プロジェクトフォルダー内の
.envファイルを開き、以下の変数を追加してください。
このガイドはいかがでしたか?