|
|
---
|
|
|
title: LobeChat 身份验证服务设置
|
|
|
description: 了解如何配置 LobeChat 的身份验证服务环境变量。
|
|
|
tags:
|
|
|
- LobeChat
|
|
|
- 身份验证服务
|
|
|
- 单点登录
|
|
|
- Next Auth
|
|
|
- Clerk
|
|
|
---
|
|
|
|
|
|
# 身份验证服务
|
|
|
|
|
|
LobeChat 在部署时提供了完善的身份验证服务能力,以下是相关的环境变量,你可以使用这些环境变量轻松定义需要在 LobeChat 中开启的身份验证服务。
|
|
|
|
|
|
## Next Auth
|
|
|
|
|
|
### 通用设置
|
|
|
|
|
|
#### `NEXT_AUTH_SECRET`
|
|
|
|
|
|
- 类型:必选
|
|
|
- 描述:用于加密 Auth.js 会话令牌的密钥。您可以使用以下命令生成秘钥: `openssl rand -base64 32`.
|
|
|
- 默认值: `-`
|
|
|
- 示例: `Tfhi2t2pelSMEA8eaV61KaqPNEndFFdMIxDaJnS1CUI=`
|
|
|
|
|
|
#### `NEXT_AUTH_SSO_PROVIDERS`
|
|
|
|
|
|
- 类型:可选
|
|
|
- 描述:选择 LoboChat 的单点登录提供商。如果有多个单点登录提供商,请用逗号分隔,例如 `auth0,azure-ad,authentik`
|
|
|
- 默认值: `auth0`
|
|
|
- 示例: `auth0,azure-ad,authentik`
|
|
|
|
|
|
#### `NEXTAUTH_URL`
|
|
|
|
|
|
- 类型:可选
|
|
|
- 描述:该 URL 用于指定 Auth.js 在执行 OAuth 验证时的回调地址,在 Vercel 上部署时无需设置。
|
|
|
- 默认值:`-`
|
|
|
- 示例:`https://example.com/api/auth`
|
|
|
|
|
|
### Auth0
|
|
|
|
|
|
#### `AUTH0_CLIENT_ID`
|
|
|
|
|
|
- 类型:必选
|
|
|
- 描述: Auth0 应用程序的 Client ID,您可以访问[这里](https://manage.auth0.com/dashboard)并导航至应用程序设置来查看
|
|
|
- 默认值: `-`
|
|
|
- 示例: `evCnOJP1UX8FMnXR9Xkj5t0NyFn5p70P`
|
|
|
|
|
|
#### `AUTH0_CLIENT_SECRET`
|
|
|
|
|
|
- 类型:必选
|
|
|
- 描述: Auth0 应用程序的 Client Secret
|
|
|
- 默认值: `-`
|
|
|
- 示例: `wnX7UbZg85ZUzF6ioxPLnJVEQa1Elbs7aqBUSF16xleBS5AdkVfASS49-fQIC8Rm`
|
|
|
|
|
|
#### `AUTH0_ISSUER`
|
|
|
|
|
|
- 类型:必选
|
|
|
- 描述: Auth0 应用程序的签发人 / 域
|
|
|
- 默认值: `-`
|
|
|
- 示例: `https://example.auth0.com`
|
|
|
|
|
|
### Microsoft Entra ID
|
|
|
|
|
|
#### `AZURE_AD_CLIENT_ID`
|
|
|
|
|
|
- 类型:必选
|
|
|
- 描述:Microsoft Entra ID 应用程序的客户端 ID。
|
|
|
- 默认值:`-`
|
|
|
- 示例:`be8f6da1-58c3-4f16-ff1b-78f5148e10df`
|
|
|
|
|
|
#### `AZURE_AD_CLIENT_SECRET`
|
|
|
|
|
|
- 类型:必选
|
|
|
- 描述:Microsoft Entra ID 应用程序的客户端密钥。
|
|
|
- 默认值:`-`
|
|
|
- 示例:`~gI8Q.pTiN1vwB6Gl.E1yFT1ojcXABkdACfJXaNj`
|
|
|
|
|
|
#### `AZURE_AD_TENANT_ID`
|
|
|
|
|
|
- 类型:必选
|
|
|
- 描述:Microsoft Entra ID 应用程序的租户 ID。
|
|
|
- 默认值:`-`
|
|
|
- 示例:`c8ae2f36-edf6-4cda-96b9-d3e198a47cba`
|
|
|
|
|
|
### Authentik
|
|
|
|
|
|
#### `AUTHENTIK_CLIENT_ID`
|
|
|
|
|
|
- 类型:必选
|
|
|
- 描述: Authentik 提供程序的 Client ID
|
|
|
- 默认值: `-`
|
|
|
- 示例: `YNtbIRlYF8Kj66mTLue59nsGLlb7HNyx1qjPH6VS`
|
|
|
|
|
|
#### `AUTHENTIK_CLIENT_SECRET`
|
|
|
|
|
|
- 类型:必选
|
|
|
- 描述: Authentik 提供程序的 Client Secret
|
|
|
- 默认值: `-`
|
|
|
- 示例: `h3lMI1vPUzqyqqeIDUbH5UNNOxyQLXk35h89yETeaAwHk7qVXBG3sJQWeqHBU5pyggwhP9u0eaZ1eq6DHUddVPLoS4gncqD37yuCr8jI8dY66WAt45MStDsDcQm0Ygze`
|
|
|
|
|
|
#### `AUTHENTIK_ISSUER`
|
|
|
|
|
|
- 类型:必选
|
|
|
- 描述: Authentik 提供程序的 OpenID Connect 颁发者
|
|
|
- 默认值: `-`
|
|
|
- 示例: `https://your-authentik-domain.com/application/o/slug/`
|
|
|
|
|
|
### Authelia
|
|
|
|
|
|
#### `AUTHELIA_CLIENT_ID`
|
|
|
|
|
|
- 类型:必选
|
|
|
- 描述: Authelia 提供程序的 Client ID
|
|
|
- 默认值: `-`
|
|
|
- 示例: `lobe-chat`
|
|
|
|
|
|
#### `AUTHELIA_CLIENT_SECRET`
|
|
|
|
|
|
- 类型:必选
|
|
|
- 描述: Authelia 提供程序的 Client Secret 的明文
|
|
|
- 默认值: `-`
|
|
|
- 示例: `insecure_secret`
|
|
|
|
|
|
#### `AUTHELIA_ISSUER`
|
|
|
|
|
|
- 类型:必选
|
|
|
- 描述: Authentik 提供程序的 OpenID Connect 颁发者
|
|
|
- 默认值: `-`
|
|
|
- 示例: `https://sso.example.com`
|
|
|
|
|
|
### Cloudflare Zero Trust
|
|
|
|
|
|
#### `CLOUDFLARE_ZERO_TRUST_CLIENT_ID`
|
|
|
|
|
|
- 类型:必选
|
|
|
- 描述: Cloudflare Zero Trust 提供程序的 Client ID
|
|
|
- 默认值: `-`
|
|
|
- 示例: `711963a58df8c943cfd6c487cac99ce9f6ee0c88c0b7bf94584b8ff052fcb09c`
|
|
|
|
|
|
#### `CLOUDFLARE_ZERO_TRUST_CLIENT_SECRET`
|
|
|
|
|
|
- 类型:必选
|
|
|
- 描述: Cloudflare Zero Trust 提供程序的 Client Secret 的明文
|
|
|
- 默认值: `-`
|
|
|
- 示例: `8f26d4ef834a828045b401e032ae128dbb00471bca53f0d25332323f525dfa30`
|
|
|
|
|
|
#### `CLOUDFLARE_ZERO_TRUST_ISSUER`
|
|
|
|
|
|
- 类型:必选
|
|
|
- 描述: Cloudflare Zero Trust 提供程序的 OpenID Connect 颁发者
|
|
|
- 默认值: `-`
|
|
|
- 示例: `https://example.cloudflareaccess.com/cdn-cgi/access/sso/oidc/711963a58df8c943cfd6c487cac99ce9f6ee0c88c0b7bf94584b8ff052fcb09c`
|
|
|
|
|
|
### Generic OIDC
|
|
|
|
|
|
#### `GENERIC_OIDC_CLIENT_ID`
|
|
|
|
|
|
- 类型:必选
|
|
|
- 描述: Generic OIDC 提供程序的 Client ID
|
|
|
- 默认值: `-`
|
|
|
- 示例: `_client_id_for_lobe_chat_`
|
|
|
|
|
|
#### `GENERIC_OIDC_CLIENT_SECRET`
|
|
|
|
|
|
- 类型:必选
|
|
|
- 描述: Generic OIDC 提供程序的 Client Secret 的明文
|
|
|
- 默认值: `-`
|
|
|
- 示例: `_client_secret_for_lobe_chat_`
|
|
|
|
|
|
#### `GENERIC_OIDC_ISSUER`
|
|
|
|
|
|
- 类型:必选
|
|
|
- 描述: Generic OIDC 提供程序的 OpenID Connect 颁发者
|
|
|
- 默认值: `-`
|
|
|
- 示例: `https://sso.example.com`
|
|
|
|
|
|
### Github
|
|
|
|
|
|
#### `GITHUB_CLIENT_ID`
|
|
|
|
|
|
- 类型:必选
|
|
|
- 描述: Github 应用的客户端 ID。您可以在[这里](https://github.com/settings/apps)访问,并导航到应用程序设置以查看。
|
|
|
- 默认值: `-`
|
|
|
- 示例: `abd94200333283550508`
|
|
|
|
|
|
#### `GITHUB_CLIENT_SECRET`
|
|
|
|
|
|
- 类型:必选
|
|
|
- 描述: Github应用的客户端密钥。
|
|
|
- 默认值: `-`
|
|
|
- 示例: `dd262976ac0931d947e104891586a053f3d3750b`
|
|
|
|
|
|
### ZITADEL
|
|
|
|
|
|
#### `ZITADEL_CLIENT_ID`
|
|
|
|
|
|
- 类型:必选
|
|
|
- 描述:ZITADEL 应用的 Client ID。您可以在 ZITADEL 控制台应用设置中找到 Client ID。
|
|
|
- 默认值:`-`
|
|
|
- 示例:`123456789012345678@your-project`
|
|
|
|
|
|
#### `ZITADEL_CLIENT_SECRET`
|
|
|
|
|
|
- 类型:必选
|
|
|
- 描述:ZITADEL 应用的 Client Secret。
|
|
|
- 默认值:`-`
|
|
|
- 示例:`9QF1n5ATzU7Z3mHp2Iw4gKX8kY6oR7uW1DnKcV3LqX2jF6iG3fBmJ1kV7nS5zE6A`
|
|
|
|
|
|
#### `ZITADEL_ISSUER`
|
|
|
|
|
|
- 类型:必选
|
|
|
- 描述:ZITADEL 应用的 OpenID Connect 颁发者(issuer),通常为 ZITADEL 实例的 URL。您可以在 ZITADEL 控制台应用设置中的 `URLs` 选项卡中找到 issuer。
|
|
|
- 默认值:`-`
|
|
|
- 示例:`https://your-instance-abc123.zitadel.cloud`
|
|
|
|
|
|
### Logto
|
|
|
|
|
|
#### `LOGTO_CLIENT_ID`
|
|
|
|
|
|
- 类型:必选
|
|
|
- 描述:Logto 应用程序的 Client ID。您可以在根据部署模式,在私有部署的 Logto 控制台或 [Logto Cloud](http://cloud.logto.io/) 中找到。
|
|
|
- 默认值:`-`
|
|
|
- 示例:`123456789012345678@your-project`
|
|
|
|
|
|
#### `LOGTO_CLIENT_SECRET`
|
|
|
|
|
|
- 类型:必选
|
|
|
- 描述:Logto 应用程序的 Client Secret。
|
|
|
- 默认值:`-`
|
|
|
- 示例:`9QF1n5ATzU7Z3mHp2Iw4gKX8kY6oR7uW1DnKcV3LqX2jF6iG3fBmJ1kV7nS5zE6A`
|
|
|
|
|
|
#### `LOGTO_ISSUER`
|
|
|
|
|
|
- 类型:必选
|
|
|
- 描述:Logto 应用程序的 OpenID Connect 颁发者(issuer)。根据部署模式,您可以在私有部署的 Logto 控制台或 [Logto Cloud](http://cloud.logto.io/) 中找到。
|
|
|
- 默认值:`-`
|
|
|
- 示例:`https://lobe-auth-api.example.com/oidc`
|
|
|
|
|
|
<Callout>
|
|
|
如果您需要使用其他身份验证服务提供商,可以提交
|
|
|
[功能请求](https://github.com/lobehub/lobe-chat/issues/new/choose) 或 Pull Request。
|
|
|
</Callout>
|
|
|
|
|
|
## Clerk
|
|
|
|
|
|
### `NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY`
|
|
|
|
|
|
- 类型:必选
|
|
|
- 描述: Clerk 应用程序的 Publishable key。您可以在[这里](https://dashboard.clerk.com)访问,并导航到 API Keys 以查看。
|
|
|
- 默认值:`-`
|
|
|
- 示例: `pk_test_Zmxvd4luZy1wdW1hLTIyLmNsXXJrTmFjY291bnRzLmRldiQ` (测试环境) / `pk_live_Y2xlcdsubG9iZWh1Yi1cbmMuY24k` (生产环境)
|
|
|
|
|
|
### `CLERK_SECRET_KEY`
|
|
|
|
|
|
- 类型:必选
|
|
|
- 描述: Clerk 应用程序的 Secret key。您可以在[这里](https://dashboard.clerk.com)访问,并导航到 API Keys 以查看。
|
|
|
- 默认值:`-`
|
|
|
- 示例: `sk_test_513Ma0P7IAWM1XMv4waxZjRYRajWTaCfJLjpEO3SD2` (测试环境) / `sk_live_eMMlHjwJvZFUfczFljSKqZdwQtLvmczmsJSNmdrpeZ`(生产环境)
|