Keycloak
了解如何配置 LibreChat 以使用 Keycloak 进行用户身份验证。
- 访问 Keycloak 管理控制台:
- 在您的网页浏览器中打开 Keycloak 管理控制台。这通常位于类似
http://localhost:8080/auth/admin/的 URL。
- 创建 Realm(如有必要):
- 如果您还没有为您的应用程序创建领域(realm),请创建一个。点击“Add Realm”并为其命名。
- 创建客户端:
- 在您的领域(realm)中,点击“Clients”,然后点击“Create”。
- 输入客户端 ID 并选择 'openid-connect' 作为客户端协议 (Client Protocol)。
- 将 '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中指定的至少一个角色。
- 获取令牌内角色列表的路径(可选):
- 解码来自 OpenID 提供商的 jwtToken,并确定访问令牌(access token)中角色列表的路径。例如,如果您使用的是 Keycloak,则路径为
realm_access.roles。 - 将此路径放入
.env文件中的OPENID_REQUIRED_ROLE_PARAMETER_PATH变量内。 - 通过参数
OPENID_REQUIRED_ROLE_TOKEN_KIND,您可以指定想要使用的令牌类型。 可选值为access和id。
- 更新您的项目配置:
- 打开项目文件夹中的
.env文件并添加以下变量:
这篇指南怎么样?