@lobehub/lobehub 2.0.2 → 2.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/ISSUE_TEMPLATE/1_bug_report.yml +0 -11
- package/CHANGELOG.md +51 -0
- package/README.md +9 -13
- package/README.zh-CN.md +6 -8
- package/apps/desktop/Development.md +1 -1
- package/changelog/v2.json +18 -0
- package/docker-compose/local/docker-compose.yml +2 -2
- package/docker-compose/local/grafana/docker-compose.yml +3 -3
- package/docker-compose/local/logto/docker-compose.yml +3 -4
- package/docker-compose/local/zitadel/.env.example +3 -4
- package/docker-compose/local/zitadel/.env.zh-CN.example +1 -2
- package/docker-compose/local/zitadel/docker-compose.yml +3 -3
- package/docker-compose/production/grafana/docker-compose.yml +3 -3
- package/docker-compose/production/logto/.env.example +7 -9
- package/docker-compose/production/logto/.env.zh-CN.example +7 -9
- package/docker-compose/production/logto/docker-compose.yml +3 -3
- package/docker-compose/production/zitadel/.env.example +4 -6
- package/docker-compose/production/zitadel/.env.zh-CN.example +3 -5
- package/docker-compose/production/zitadel/docker-compose.yml +3 -3
- package/docs/development/basic/folder-structure.mdx +1 -2
- package/docs/development/basic/folder-structure.zh-CN.mdx +1 -2
- package/docs/self-hosting/advanced/auth/legacy.mdx +1 -1
- package/docs/self-hosting/advanced/auth/legacy.zh-CN.mdx +1 -1
- package/docs/self-hosting/advanced/auth/nextauth-to-betterauth.mdx +4 -0
- package/docs/self-hosting/advanced/auth/nextauth-to-betterauth.zh-CN.mdx +4 -0
- package/docs/self-hosting/advanced/auth/providers/casdoor.mdx +8 -0
- package/docs/self-hosting/advanced/auth/providers/casdoor.zh-CN.mdx +8 -0
- package/docs/self-hosting/advanced/auth.mdx +28 -1
- package/docs/self-hosting/advanced/auth.zh-CN.mdx +29 -2
- package/docs/self-hosting/advanced/upstream-sync.mdx +5 -5
- package/docs/self-hosting/advanced/upstream-sync.zh-CN.mdx +5 -5
- package/docs/self-hosting/environment-variables/auth.mdx +2 -334
- package/docs/self-hosting/environment-variables/auth.zh-CN.mdx +2 -307
- package/docs/self-hosting/environment-variables/basic.mdx +1 -1
- package/docs/self-hosting/environment-variables/basic.zh-CN.mdx +1 -1
- package/docs/self-hosting/environment-variables.mdx +1 -1
- package/docs/self-hosting/platform/docker-compose.mdx +837 -90
- package/docs/self-hosting/platform/docker-compose.zh-CN.mdx +809 -84
- package/docs/self-hosting/platform/docker.mdx +110 -111
- package/docs/self-hosting/platform/docker.zh-CN.mdx +103 -151
- package/docs/self-hosting/{server-database → platform}/dokploy.mdx +2 -2
- package/docs/self-hosting/{server-database → platform}/dokploy.zh-CN.mdx +2 -2
- package/docs/self-hosting/platform/repocloud.mdx +11 -10
- package/docs/self-hosting/platform/repocloud.zh-CN.mdx +13 -11
- package/docs/self-hosting/platform/sealos.mdx +79 -13
- package/docs/self-hosting/platform/sealos.zh-CN.mdx +92 -11
- package/docs/self-hosting/platform/vercel.mdx +323 -19
- package/docs/self-hosting/platform/vercel.zh-CN.mdx +318 -24
- package/docs/self-hosting/platform/zeabur.mdx +41 -37
- package/docs/self-hosting/platform/zeabur.zh-CN.mdx +34 -39
- package/docs/self-hosting/server-database.mdx +6 -6
- package/docs/self-hosting/server-database.zh-CN.mdx +5 -5
- package/locales/en-US/setting.json +2 -0
- package/locales/zh-CN/setting.json +2 -0
- package/package.json +2 -2
- package/packages/agent-runtime/src/agents/GeneralChatAgent.ts +18 -14
- package/packages/agent-runtime/src/types/generalAgent.ts +5 -4
- package/packages/types/src/user/preference.ts +2 -2
- package/scripts/_shared/checkDeprecatedAuth.js +16 -0
- package/src/features/ChatInput/ActionBar/Params/Controls.tsx +17 -1
- package/src/features/ModelSelect/index.tsx +1 -1
- package/src/libs/next/proxy/createRouteMatcher.test.ts +0 -8
- package/src/libs/trpc/middleware/userAuth.test.ts +0 -6
- package/src/locales/default/setting.ts +3 -0
- package/src/proxy.ts +0 -1
- package/src/server/routers/async/__tests__/caller.test.ts +2 -2
- package/src/server/routers/lambda/config/index.test.ts +0 -6
- package/src/server/services/agentRuntime/AgentRuntimeService.ts +4 -2
- package/src/store/chat/slices/aiChat/actions/streamingExecutor.ts +3 -0
- package/src/store/chat/slices/message/selectors/displayMessage.test.ts +21 -0
- package/src/store/chat/slices/message/selectors/displayMessage.ts +7 -2
- package/docs/self-hosting/platform/alibaba-cloud.mdx +0 -28
- package/docs/self-hosting/platform/alibaba-cloud.zh-CN.mdx +0 -25
- package/docs/self-hosting/platform/btpanel.mdx +0 -48
- package/docs/self-hosting/platform/btpanel.zh-CN.mdx +0 -51
- package/docs/self-hosting/platform/netlify.mdx +0 -91
- package/docs/self-hosting/platform/netlify.zh-CN.mdx +0 -86
- package/docs/self-hosting/platform/railway.mdx +0 -29
- package/docs/self-hosting/platform/railway.zh-CN.mdx +0 -29
- package/docs/self-hosting/platform/tencentcloud-lighthouse.mdx +0 -29
- package/docs/self-hosting/platform/tencentcloud-lighthouse.zh-CN.mdx +0 -26
- package/docs/self-hosting/server-database/docker-compose.mdx +0 -879
- package/docs/self-hosting/server-database/docker-compose.zh-CN.mdx +0 -854
- package/docs/self-hosting/server-database/docker.mdx +0 -154
- package/docs/self-hosting/server-database/docker.zh-CN.mdx +0 -153
- package/docs/self-hosting/server-database/netlify.mdx +0 -13
- package/docs/self-hosting/server-database/netlify.zh-CN.mdx +0 -16
- package/docs/self-hosting/server-database/railway.mdx +0 -13
- package/docs/self-hosting/server-database/railway.zh-CN.mdx +0 -15
- package/docs/self-hosting/server-database/repocloud.mdx +0 -33
- package/docs/self-hosting/server-database/repocloud.zh-CN.mdx +0 -32
- package/docs/self-hosting/server-database/sealos.mdx +0 -97
- package/docs/self-hosting/server-database/sealos.zh-CN.mdx +0 -112
- package/docs/self-hosting/server-database/vercel.mdx +0 -344
- package/docs/self-hosting/server-database/vercel.zh-CN.mdx +0 -337
- package/docs/self-hosting/server-database/zeabur.mdx +0 -76
- package/docs/self-hosting/server-database/zeabur.zh-CN.mdx +0 -67
|
@@ -152,7 +152,19 @@ LobeHub 与 Clerk 做了深度集成,能够为用户提供一个更加安全
|
|
|
152
152
|
|
|
153
153
|
### 通用配置
|
|
154
154
|
|
|
155
|
-
在使用
|
|
155
|
+
在使用 Better Auth 之前,请先在 LobeHub 的环境变量中设置以下变量:
|
|
156
|
+
|
|
157
|
+
## 邮箱验证
|
|
158
|
+
|
|
159
|
+
启用邮箱验证以确保用户拥有其注册的邮箱地址(默认关闭):
|
|
160
|
+
|
|
161
|
+
| 环境变量 | 类型 | 描述 |
|
|
162
|
+
| ------------------------- | -- | -------------------- |
|
|
163
|
+
| `AUTH_EMAIL_VERIFICATION` | 可选 | 设置为 `1` 以要求注册后进行邮箱验证 |
|
|
164
|
+
|
|
165
|
+
<Callout type={'info'}>
|
|
166
|
+
邮箱验证需要上方已配置好的邮件服务(SMTP 或 Resend)。启用后,用户必须验证其邮箱地址才能登录。
|
|
167
|
+
</Callout>
|
|
156
168
|
|
|
157
169
|
## 魔法链接(免密)登录
|
|
158
170
|
|
|
@@ -194,6 +206,17 @@ Better Auth 支持内置提供商(Google、GitHub、Microsoft、Apple、AWS Co
|
|
|
194
206
|
当前身份验证方案强依赖 email。请在 Casdoor 中为用户配置有效的 email 地址。
|
|
195
207
|
强烈建议使用真实有效的邮箱,否则密码重置、魔法链接登录等功能将无法使用。
|
|
196
208
|
|
|
209
|
+
### 邮箱可以随便乱填吗?
|
|
210
|
+
|
|
211
|
+
**强烈不建议**。请务必填写真实有效的邮箱地址。使用虚假邮箱会导致以下问题:
|
|
212
|
+
|
|
213
|
+
- 密码重置功能无法使用
|
|
214
|
+
- 魔法链接登录无法使用
|
|
215
|
+
- 邮箱验证无法通过
|
|
216
|
+
- 忘记密码时可能无法找回账户
|
|
217
|
+
|
|
218
|
+
这适用于所有身份验证方式,包括 Casdoor 等 SSO 提供商。请确保用户配置了有效的邮箱地址。
|
|
219
|
+
|
|
197
220
|
### 如何限制只允许特定邮箱或域名注册?
|
|
198
221
|
|
|
199
222
|
设置 `AUTH_ALLOWED_EMAILS` 环境变量,支持完整邮箱地址或域名,以逗号分隔。例如:
|
|
@@ -201,6 +224,10 @@ Better Auth 支持内置提供商(Google、GitHub、Microsoft、Apple、AWS Co
|
|
|
201
224
|
- 只允许 `example.com` 域名:`AUTH_ALLOWED_EMAILS=example.com`
|
|
202
225
|
- 允许多个域名和特定邮箱:`AUTH_ALLOWED_EMAILS=example.com,company.org,admin@other.com`
|
|
203
226
|
|
|
227
|
+
<Callout type={'info'}>
|
|
228
|
+
注意:`AUTH_ALLOWED_EMAILS` 仅限制哪些邮箱地址可以注册,但不会验证邮箱所有权。如果需要确保用户确实拥有其注册的邮箱地址,请设置 `AUTH_EMAIL_VERIFICATION=1` 以启用邮箱验证。这需要配置邮件服务(SMTP)。
|
|
229
|
+
</Callout>
|
|
230
|
+
|
|
204
231
|
### Webhook 支持
|
|
205
232
|
|
|
206
233
|
允许 LobeHub 在身份提供商中用户信息更新时接收通知。支持的提供商包括 Casdoor 和 Logto。请参考具体提供商文档进行配置。
|
|
@@ -211,4 +238,4 @@ Better Auth 支持内置提供商(Google、GitHub、Microsoft、Apple、AWS Co
|
|
|
211
238
|
|
|
212
239
|
## 其他 SSO 提供商
|
|
213
240
|
|
|
214
|
-
请参考 [
|
|
241
|
+
请参考 [Auth.js](https://authjs.dev/getting-started/authentication/oauth) 文档,欢迎提交 Pull Request。
|
|
@@ -106,7 +106,7 @@ If you wish to automate the above steps, you can follow the method below and use
|
|
|
106
106
|
export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890
|
|
107
107
|
|
|
108
108
|
# Pull the latest image and store the output in a variable
|
|
109
|
-
output=$(docker pull lobehub/
|
|
109
|
+
output=$(docker pull lobehub/lobehub:latest 2>&1)
|
|
110
110
|
|
|
111
111
|
# Check if the pull command was executed successfully
|
|
112
112
|
if [ $? -ne 0 ]; then
|
|
@@ -114,7 +114,7 @@ If you wish to automate the above steps, you can follow the method below and use
|
|
|
114
114
|
fi
|
|
115
115
|
|
|
116
116
|
# Check if the output contains a specific string
|
|
117
|
-
echo "$output" | grep -q "Image is up to date for lobehub/
|
|
117
|
+
echo "$output" | grep -q "Image is up to date for lobehub/lobehub:latest"
|
|
118
118
|
|
|
119
119
|
# If the image is already up to date, do nothing
|
|
120
120
|
if [ $? -eq 0 ]; then
|
|
@@ -127,14 +127,14 @@ If you wish to automate the above steps, you can follow the method below and use
|
|
|
127
127
|
echo "Removed: $(docker rm -f lobe-chat)"
|
|
128
128
|
|
|
129
129
|
# Run the new container(Please change the path to the env file)
|
|
130
|
-
echo "Started: $(docker run -d --network=host --env-file /path/to/lobe.env --name=lobe-chat --restart=always lobehub/
|
|
130
|
+
echo "Started: $(docker run -d --network=host --env-file /path/to/lobe.env --name=lobe-chat --restart=always lobehub/lobehub)"
|
|
131
131
|
|
|
132
132
|
# Print the update time and version
|
|
133
133
|
echo "Update time: $(date)"
|
|
134
|
-
echo "Version: $(docker inspect lobehub/
|
|
134
|
+
echo "Version: $(docker inspect lobehub/lobehub:latest | grep 'org.opencontainers.image.version' | awk -F'"' '{print $4}')"
|
|
135
135
|
|
|
136
136
|
# Clean up unused images
|
|
137
|
-
docker images | grep 'lobehub/
|
|
137
|
+
docker images | grep 'lobehub/lobehub' | grep -v 'latest' | awk '{print $3}' | xargs -r docker rmi > /dev/null 2>&1
|
|
138
138
|
echo "Removed old images."
|
|
139
139
|
```
|
|
140
140
|
|
|
@@ -101,7 +101,7 @@ Docker 部署版本的升级非常简单,只需要重新部署 LobeHub 的最
|
|
|
101
101
|
# export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890
|
|
102
102
|
|
|
103
103
|
# 拉取最新的镜像并将输出存储在变量中
|
|
104
|
-
output=$(docker pull lobehub/
|
|
104
|
+
output=$(docker pull lobehub/lobehub:latest 2>&1)
|
|
105
105
|
|
|
106
106
|
# 检查拉取命令是否成功执行
|
|
107
107
|
if [ $? -ne 0 ]; then
|
|
@@ -109,7 +109,7 @@ Docker 部署版本的升级非常简单,只需要重新部署 LobeHub 的最
|
|
|
109
109
|
fi
|
|
110
110
|
|
|
111
111
|
# 检查输出中是否包含特定的字符串
|
|
112
|
-
echo "$output" | grep -q "Image is up to date for lobehub/
|
|
112
|
+
echo "$output" | grep -q "Image is up to date for lobehub/lobehub:latest"
|
|
113
113
|
|
|
114
114
|
# 如果镜像已经是最新的,则不执行任何操作
|
|
115
115
|
if [ $? -eq 0 ]; then
|
|
@@ -122,14 +122,14 @@ Docker 部署版本的升级非常简单,只需要重新部署 LobeHub 的最
|
|
|
122
122
|
echo "Removed: $(docker rm -f lobe-chat)"
|
|
123
123
|
|
|
124
124
|
# 运行新的容器(请将env配置文件地址改为你的实际地址)
|
|
125
|
-
echo "Started: $(docker run -d --network=host --env-file path/to/lobe.env --name=lobe-chat --restart=always lobehub/
|
|
125
|
+
echo "Started: $(docker run -d --network=host --env-file path/to/lobe.env --name=lobe-chat --restart=always lobehub/lobehub)"
|
|
126
126
|
|
|
127
127
|
# 打印更新的时间和版本
|
|
128
128
|
echo "Update time: $(date)"
|
|
129
|
-
echo "Version: $(docker inspect lobehub/
|
|
129
|
+
echo "Version: $(docker inspect lobehub/lobehub:latest | grep 'org.opencontainers.image.version' | awk -F'"' '{print $4}')"
|
|
130
130
|
|
|
131
131
|
# 清理不再使用的镜像
|
|
132
|
-
docker images | grep 'lobehub/
|
|
132
|
+
docker images | grep 'lobehub/lobehub' | grep -v 'latest' | awk '{print $3}' | xargs -r docker rmi > /dev/null 2>&1
|
|
133
133
|
echo "Removed old images."
|
|
134
134
|
```
|
|
135
135
|
|
|
@@ -2,14 +2,12 @@
|
|
|
2
2
|
title: LobeHub Authentication Service Environment Variables
|
|
3
3
|
description: >-
|
|
4
4
|
Explore the essential environment variables for configuring authentication
|
|
5
|
-
services in LobeHub, including Better Auth, OAuth SSO,
|
|
5
|
+
services in LobeHub, including Better Auth, OAuth SSO, and
|
|
6
6
|
provider-specific details.
|
|
7
7
|
tags:
|
|
8
8
|
- Authentication Service
|
|
9
9
|
- Better Auth
|
|
10
10
|
- OAuth SSO
|
|
11
|
-
- Clerk
|
|
12
|
-
- NextAuth
|
|
13
11
|
---
|
|
14
12
|
|
|
15
13
|
# Authentication Service
|
|
@@ -23,7 +21,7 @@ LobeHub provides a complete authentication service capability when deployed. The
|
|
|
23
21
|
#### `AUTH_SECRET`
|
|
24
22
|
|
|
25
23
|
- Type: Required
|
|
26
|
-
- Description: Key used to encrypt session tokens.
|
|
24
|
+
- Description: Key used to encrypt session tokens. You can generate the key using the command: `openssl rand -base64 32`.
|
|
27
25
|
- Default: `-`
|
|
28
26
|
- Example: `Tfhi2t2pelSMEA8eaV61KaqPNEndFFdMIxDaJnS1CUI=`
|
|
29
27
|
|
|
@@ -211,333 +209,3 @@ These settings are required for email verification and password reset features.
|
|
|
211
209
|
- Description: App Secret of the WeChat application.
|
|
212
210
|
- Default: `-`
|
|
213
211
|
- Example: `xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`
|
|
214
|
-
|
|
215
|
-
<Callout type={'info'}>
|
|
216
|
-
For other OIDC-based providers (Auth0, Authelia, Authentik, Casdoor, Cloudflare Zero Trust, Keycloak, Logto, Okta, ZITADEL, Generic OIDC), the environment variables follow the same pattern as Next Auth. See the [Next Auth section](#next-auth) below for details.
|
|
217
|
-
</Callout>
|
|
218
|
-
|
|
219
|
-
## Next Auth
|
|
220
|
-
|
|
221
|
-
### General Settings
|
|
222
|
-
|
|
223
|
-
#### `NEXT_PUBLIC_ENABLE_NEXT_AUTH`
|
|
224
|
-
|
|
225
|
-
- Changes after v1.52.0.
|
|
226
|
-
|
|
227
|
-
- For users who deploy with Vercel using Next Auth, it is necessary to add the environment variable NEXT\_PUBLIC\_ENABLE\_NEXT\_AUTH=1 to ensure that Next Auth is enabled.
|
|
228
|
-
|
|
229
|
-
- For users who use Clerk in their self-built image, it is necessary to configure the environment variable NEXT\_PUBLIC\_ENABLE\_NEXT\_AUTH=0 to disable Next Auth.\n
|
|
230
|
-
|
|
231
|
-
- Other standard deployment scenarios (using Clerk on Vercel and next-auth in Docker) are not affected
|
|
232
|
-
|
|
233
|
-
#### `NEXT_AUTH_SECRET`
|
|
234
|
-
|
|
235
|
-
- Type: Required
|
|
236
|
-
- Description: Key used to encrypt the session tokens in Auth.js. You can generate the key using the following command: `openssl rand -base64 32`.
|
|
237
|
-
- Default: `-`
|
|
238
|
-
- Example: `Tfhi2t2pelSMEA8eaV61KaqPNEndFFdMIxDaJnS1CUI=`
|
|
239
|
-
|
|
240
|
-
#### `NEXT_AUTH_SSO_PROVIDERS`
|
|
241
|
-
|
|
242
|
-
- Type: Optional
|
|
243
|
-
- Description: Select the single sign-on provider for LoboChat. For multiple SSO Providers separating them with commas, for example, `auth0,microsoft-entra-id,authentik`.
|
|
244
|
-
- Default: `auth0`
|
|
245
|
-
- Example: `auth0,microsoft-entra-id,authentik`
|
|
246
|
-
|
|
247
|
-
#### `NEXTAUTH_URL`
|
|
248
|
-
|
|
249
|
-
- Type: Optional
|
|
250
|
-
- Description: This URL is used to specify the callback address for Auth.js during OAuth authentication. It does not need to be set when deploying on Vercel.
|
|
251
|
-
- Default: `-`
|
|
252
|
-
- Example: `https://example.com/api/auth`
|
|
253
|
-
|
|
254
|
-
### Auth0
|
|
255
|
-
|
|
256
|
-
#### `AUTH_AUTH0_ID`
|
|
257
|
-
|
|
258
|
-
- Type: Required
|
|
259
|
-
- Description: Client ID of the Auth0 application. You can access it [here](https://manage.auth0.com/dashboard) and navigate to the application settings to view.
|
|
260
|
-
- Default: `-`
|
|
261
|
-
- Example: `evCnOJP1UX8FMnXR9Xkj5t0NyFn5p70P`
|
|
262
|
-
|
|
263
|
-
#### `AUTH_AUTH0_SECRET`
|
|
264
|
-
|
|
265
|
-
- Type: Required
|
|
266
|
-
- Description: Client Secret of the Auth0 application.
|
|
267
|
-
- Default: `-`
|
|
268
|
-
- Example: `wnX7UbZg85ZUzF6ioxPLnJVEQa1Elbs7aqBUSF16xleBS5AdkVfASS49-fQIC8Rm`
|
|
269
|
-
|
|
270
|
-
#### `AUTH_AUTH0_ISSUER`
|
|
271
|
-
|
|
272
|
-
- Type: Required
|
|
273
|
-
- Description: Issuer/domain of the Auth0 application.
|
|
274
|
-
- Default: `-`
|
|
275
|
-
- Example: `https://example.auth0.com`
|
|
276
|
-
|
|
277
|
-
### Authelia
|
|
278
|
-
|
|
279
|
-
#### `AUTH_AUTHELIA_ID`
|
|
280
|
-
|
|
281
|
-
- Type: Required
|
|
282
|
-
- Description: Client ID of the Authelia provider application.
|
|
283
|
-
- Default: `-`
|
|
284
|
-
- Example: `lobe-chat`
|
|
285
|
-
|
|
286
|
-
#### `AUTH_AUTHELIA_SECRET`
|
|
287
|
-
|
|
288
|
-
- Type: Required
|
|
289
|
-
- Description: The plaintext of the Client Secret for the Authelia provider
|
|
290
|
-
- Default: `-`
|
|
291
|
-
- Example: `insecure_secret`
|
|
292
|
-
|
|
293
|
-
#### `AUTH_AUTHELIA_ISSUER`
|
|
294
|
-
|
|
295
|
-
- Type: Required
|
|
296
|
-
- Description: Issuer of the Authelia provider application.
|
|
297
|
-
- Default: `-`
|
|
298
|
-
- Example: `https://sso.example.com`
|
|
299
|
-
|
|
300
|
-
### Authentik
|
|
301
|
-
|
|
302
|
-
#### `AUTH_AUTHENTIK_ID`
|
|
303
|
-
|
|
304
|
-
- Type: Required
|
|
305
|
-
- Description: Client ID of the Authentik provider application.
|
|
306
|
-
- Default: `-`
|
|
307
|
-
- Example: `evCnOJP1UX8FMnXR9Xkj5t0NyFn5p70P`
|
|
308
|
-
|
|
309
|
-
#### `AUTH_AUTHENTIK_SECRET`
|
|
310
|
-
|
|
311
|
-
- Type: Required
|
|
312
|
-
- Description: Client Secret of the Authentik provider application.
|
|
313
|
-
- Default: `-`
|
|
314
|
-
- Example: `wnX7UbZg85ZUzF6ioxPLnJVEQa1Elbs7aqBUSF16xleBS5AdkVfASS49-fQIC8Rm`
|
|
315
|
-
|
|
316
|
-
#### `AUTH_AUTHENTIK_ISSUER`
|
|
317
|
-
|
|
318
|
-
- Type: Required
|
|
319
|
-
- Description: Issuer/domain of the Authentik provider application.
|
|
320
|
-
- Default: `-`
|
|
321
|
-
- Example: `https://your-authentik-domain.com/application/o/slug/`
|
|
322
|
-
|
|
323
|
-
### Casdoor
|
|
324
|
-
|
|
325
|
-
#### `AUTH_CASDOOR_ID`
|
|
326
|
-
|
|
327
|
-
- Type: Required
|
|
328
|
-
- Description: Client ID provided by Casdoor
|
|
329
|
-
- Default: `-`
|
|
330
|
-
- Example: `570bfa85a21800a25198`
|
|
331
|
-
|
|
332
|
-
#### `AUTH_CASDOOR_SECRET`
|
|
333
|
-
|
|
334
|
-
- Type: Required
|
|
335
|
-
- Description: Plaintext Client Secret provided by Casdoor
|
|
336
|
-
- Default: `-`
|
|
337
|
-
- Example: `233a623a15eac2db2e43bb8a323eda729552c405`
|
|
338
|
-
|
|
339
|
-
#### `AUTH_CASDOOR_ISSUER`
|
|
340
|
-
|
|
341
|
-
- Type: Required
|
|
342
|
-
- Description: OpenID Connect issuer provided by Casdoor
|
|
343
|
-
- Default: `-`
|
|
344
|
-
- Example: `https://lobe-auth-api.example.com/`
|
|
345
|
-
|
|
346
|
-
### Cloudflare Zero Trust
|
|
347
|
-
|
|
348
|
-
#### `AUTH_CLOUDFLARE_ZERO_TRUST_ID`
|
|
349
|
-
|
|
350
|
-
- Type: Required
|
|
351
|
-
- Description: Client ID of the Cloudflare Zero Trust provider application.
|
|
352
|
-
- Default: `-`
|
|
353
|
-
- Example: `711963a58df8c943cfd6c487cac99ce9f6ee0c88c0b7bf94584b8ff052fcb09c`
|
|
354
|
-
|
|
355
|
-
#### `AUTH_CLOUDFLARE_ZERO_TRUST_SECRET`
|
|
356
|
-
|
|
357
|
-
- Type: Required
|
|
358
|
-
- Description: The plaintext of the Client Secret for the Cloudflare Zero Trust provider
|
|
359
|
-
- Default: `-`
|
|
360
|
-
- Example: `8f26d4ef834a828045b401e032ae128dbb00471bca53f0d25332323f525dfa30`
|
|
361
|
-
|
|
362
|
-
#### `AUTH_CLOUDFLARE_ZERO_TRUST_ISSUER`
|
|
363
|
-
|
|
364
|
-
- Type: Required
|
|
365
|
-
- Description: Issuer of the Cloudflare Zero Trust provider application.
|
|
366
|
-
- Default: `-`
|
|
367
|
-
- Example: `https://example.cloudflareaccess.com/cdn-cgi/access/sso/oidc/711963a58df8c943cfd6c487cac99ce9f6ee0c88c0b7bf94584b8ff052fcb09c`
|
|
368
|
-
|
|
369
|
-
### Github
|
|
370
|
-
|
|
371
|
-
#### `AUTH_GITHUB_ID`
|
|
372
|
-
|
|
373
|
-
- Type: Required
|
|
374
|
-
- Description: Client ID of the Github application. You can access it [here](https://github.com/settings/apps) and navigate to the application settings to view.
|
|
375
|
-
- Default: `-`
|
|
376
|
-
- Example: `abd94200333283550508`
|
|
377
|
-
|
|
378
|
-
#### `AUTH_GITHUB_SECRET`
|
|
379
|
-
|
|
380
|
-
- Type: Required
|
|
381
|
-
- Description: Client Secret of the Github application.
|
|
382
|
-
- Default: `-`
|
|
383
|
-
- Example: `dd262976ac0931d947e104891586a053f3d3750b`
|
|
384
|
-
|
|
385
|
-
### Logto
|
|
386
|
-
|
|
387
|
-
#### `AUTH_LOGTO_ID`
|
|
388
|
-
|
|
389
|
-
- Type: Required
|
|
390
|
-
- Description: The Client ID of the Logto application. You can find it in the Logto console for private deployment or [Logto Cloud](http://cloud.logto.io/) depending on the deployment mode.
|
|
391
|
-
- Default value: `-`
|
|
392
|
-
- Example: `123456789012345678@your-project`
|
|
393
|
-
|
|
394
|
-
#### `AUTH_LOGTO_SECRET`
|
|
395
|
-
|
|
396
|
-
- Type: Required
|
|
397
|
-
- Description: The Client Secret of the Logto application.
|
|
398
|
-
- Default value: `-`
|
|
399
|
-
- Example: `9QF1n5ATzU7Z3mHp2Iw4gKX8kY6oR7uW1DnKcV3LqX2jF6iG3fBmJ1kV7nS5zE6A`
|
|
400
|
-
|
|
401
|
-
#### `AUTH_LOGTO_ISSUER`
|
|
402
|
-
|
|
403
|
-
- Type: Required
|
|
404
|
-
- Description: The OpenID Connect issuer of the Logto application. You can find it in the Logto console for private deployment or [Logto Cloud](http://cloud.logto.io/) depending on the deployment mode.
|
|
405
|
-
- Default value: `-`
|
|
406
|
-
- Example: `https://lobe-auth-api.example.com/oidc`
|
|
407
|
-
|
|
408
|
-
### Microsoft Entra ID
|
|
409
|
-
|
|
410
|
-
#### `AUTH_MICROSOFT_ENTRA_ID_BASE_URL`
|
|
411
|
-
|
|
412
|
-
- Type: Required
|
|
413
|
-
- Description: - Description: Base URL for Azure login. Use when authenticating against other Microsoft sovereignty clouds like Azure US Government.
|
|
414
|
-
- Default: `https://login.microsoftonline.com`
|
|
415
|
-
- Example: `https://login.microsoftonline.us`
|
|
416
|
-
|
|
417
|
-
#### `AUTH_AZURE_AD_ID`
|
|
418
|
-
|
|
419
|
-
- Type: Required
|
|
420
|
-
- Description: Client ID of the Microsoft Entra ID application.
|
|
421
|
-
- Default: `-`
|
|
422
|
-
- Example: `be8f6da1-58c3-4f16-ff1b-78f5148e10df`
|
|
423
|
-
|
|
424
|
-
#### `AUTH_AZURE_AD_SECRET`
|
|
425
|
-
|
|
426
|
-
- Type: Required
|
|
427
|
-
- Description: Client Secret of the Microsoft Entra ID application.
|
|
428
|
-
- Default: `-`
|
|
429
|
-
- Example: `~gI8Q.pTiN1vwB6Gl.E1yFT1ojcXABkdACfJXaNj`
|
|
430
|
-
|
|
431
|
-
#### `AUTH_AZURE_AD_TENANT_ID`
|
|
432
|
-
|
|
433
|
-
- Type: Required
|
|
434
|
-
- Description: Tenant ID of the Microsoft Entra ID application.
|
|
435
|
-
- Default: `-`
|
|
436
|
-
- Example: `c8ae2f36-edf6-4cda-96b9-d3e198a47cba`
|
|
437
|
-
|
|
438
|
-
### ZITADEL
|
|
439
|
-
|
|
440
|
-
#### `AUTH_ZITADEL_ID`
|
|
441
|
-
|
|
442
|
-
- Type: Required
|
|
443
|
-
- Description: Client ID of the ZITADEL application. This can be found under your application in the ZITADEL console.
|
|
444
|
-
- Default: `-`
|
|
445
|
-
- Example: `123456789012345678@your-project`
|
|
446
|
-
|
|
447
|
-
#### `AUTH_ZITADEL_SECRET`
|
|
448
|
-
|
|
449
|
-
- Type: Required
|
|
450
|
-
- Description: Client Secret of the ZITADEL application.
|
|
451
|
-
- Default: `-`
|
|
452
|
-
- Example: `9QF1n5ATzU7Z3mHp2Iw4gKX8kY6oR7uW1DnKcV3LqX2jF6iG3fBmJ1kV7nS5zE6A`
|
|
453
|
-
|
|
454
|
-
#### `AUTH_ZITADEL_ISSUER`
|
|
455
|
-
|
|
456
|
-
- Type: Required
|
|
457
|
-
- Description: Issuer of the ZITADEL application. This is usually the URL of the ZITADEL instance, and can be found in `URLs` tab of your application in the console.
|
|
458
|
-
- Default: `-`
|
|
459
|
-
- Example: `https://your-instance-abc123.zitadel.cloud`
|
|
460
|
-
|
|
461
|
-
### Okta
|
|
462
|
-
|
|
463
|
-
#### `AUTH_OKTA_ID`
|
|
464
|
-
|
|
465
|
-
- Type: Required
|
|
466
|
-
- Description: Client ID of the Okta application. This can be found under your application settings in the Okta console.
|
|
467
|
-
- Default: `-`
|
|
468
|
-
- Example: `ac12c950f3ce48c8a45a`
|
|
469
|
-
|
|
470
|
-
#### `AUTH_OKTA_SECRET`
|
|
471
|
-
|
|
472
|
-
- Type: Required
|
|
473
|
-
- Description: Client Secret of the Okta application. This can be found under your application settings in the Okta console.
|
|
474
|
-
- Default: `-`
|
|
475
|
-
- Example: `ex1HqvSOOkC5INqo42grOSqNvHoD4p84em1yy5QU7v88IZlaWGywFjYkrkpkSopt`
|
|
476
|
-
|
|
477
|
-
#### `AUTH_OKTA_ISSUER`
|
|
478
|
-
|
|
479
|
-
- Type: Required
|
|
480
|
-
- Description: Issuer of the Okta application. This is the URL of the Okta instance -- If branding is set up, it can be your custom domain.
|
|
481
|
-
- Default: `-`
|
|
482
|
-
- Example: `https://your-instance.okta.com`
|
|
483
|
-
|
|
484
|
-
### Feishu
|
|
485
|
-
|
|
486
|
-
#### `AUTH_FEISHU_APP_ID`
|
|
487
|
-
|
|
488
|
-
- Type: Required
|
|
489
|
-
- Description: App ID of the Feishu application.
|
|
490
|
-
- Default: `-`
|
|
491
|
-
- Example: `cli_9f7b1e1e1e1e1e1e`
|
|
492
|
-
|
|
493
|
-
#### `AUTH_FEISHU_APP_SECRET`
|
|
494
|
-
|
|
495
|
-
- Type: Required
|
|
496
|
-
- Description: App Secret of the Feishu application.
|
|
497
|
-
- Default: `-`
|
|
498
|
-
- Example: `AlHxxX1e1e1e1e1e1e1e1e1e1e1e1e1e`
|
|
499
|
-
|
|
500
|
-
### Generic OIDC
|
|
501
|
-
|
|
502
|
-
#### `AUTH_GENERIC_OIDC_ID`
|
|
503
|
-
|
|
504
|
-
- Type: Required
|
|
505
|
-
- Description: Client ID of the Generic OIDC provider application.
|
|
506
|
-
- Default: `-`
|
|
507
|
-
- Example: `_client_id_for_lobe_chat_`
|
|
508
|
-
|
|
509
|
-
#### `AUTH_GENERIC_OIDC_SECRET`
|
|
510
|
-
|
|
511
|
-
- Type: Required
|
|
512
|
-
- Description: The plaintext of the Client Secret for the Generic OIDC provider
|
|
513
|
-
- Default: `-`
|
|
514
|
-
- Example: `_client_secret_for_lobe_chat_`
|
|
515
|
-
|
|
516
|
-
#### `AUTH_GENERIC_OIDC_ISSUER`
|
|
517
|
-
|
|
518
|
-
- Type: Required
|
|
519
|
-
- Description: Issuer of the Generic OIDC provider application.
|
|
520
|
-
- Default: `-`
|
|
521
|
-
- Example: `https://sso.example.com`
|
|
522
|
-
|
|
523
|
-
<Callout>
|
|
524
|
-
Currently, we only support providers above. If you need to use other identity verification service
|
|
525
|
-
providers, you can submit a [feature
|
|
526
|
-
request](https://github.com/lobehub/lobe-chat/issues/new/choose) or Pull Request.
|
|
527
|
-
</Callout>
|
|
528
|
-
|
|
529
|
-
## Clerk
|
|
530
|
-
|
|
531
|
-
### `NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY`
|
|
532
|
-
|
|
533
|
-
- Type: Required
|
|
534
|
-
- Description: Publishable key of the Clerk application. You can access it [here](https://dashboard.clerk.com) and navigate to the API Keys to view.
|
|
535
|
-
- Default: `-`
|
|
536
|
-
- Example: `pk_test_Zmxvd4luZy1wdW1hLTIyLmNsXXJrTmFjY291bnRzLmRldiQ` in dev / `pk_live_Y2xlcdsubG9iZWh1Yi1cbmMuY24k` in production
|
|
537
|
-
|
|
538
|
-
### `CLERK_SECRET_KEY`
|
|
539
|
-
|
|
540
|
-
- Type: Required
|
|
541
|
-
- Description: Secret key of the Clerk application.
|
|
542
|
-
- Default: `-`
|
|
543
|
-
- Example: `sk_test_513Ma0P7IAWM1XMv4waxZjRYRajWTaCfJLjpEO3SD2` in dev / `sk_live_eMMlHjwJvZFUfczFljSKqZdwQtLvmczmsJSNmdrpeZ` in production
|