4.4 KiB
4.4 KiB
环境变量配置说明
概述
本文档说明项目所需的环境变量配置。请在项目根目录创建 .env.local 文件并添加以下配置。
必需的环境变量
应用配置
# 应用的基础 URL
# 开发环境: http://localhost:3000
# 生产环境: https://test.crushlevel.ai 或您的域名
NEXT_PUBLIC_APP_URL=https://test.crushlevel.ai
Discord OAuth 配置
# Discord OAuth 客户端 ID
# 从 Discord Developer Portal 获取
# https://discord.com/developers/applications
NEXT_PUBLIC_DISCORD_CLIENT_ID=your_discord_client_id_here
获取步骤:
- 访问 Discord Developer Portal
- 创建或选择应用
- 在 OAuth2 设置中配置回调 URL:
https://test.crushlevel.ai/api/auth/discord/callbackhttp://localhost:3000/api/auth/discord/callback(开发环境)
- 复制 Client ID
Google OAuth 配置
# Google OAuth 客户端 ID
# 从 Google Cloud Console 获取
# https://console.cloud.google.com/
NEXT_PUBLIC_GOOGLE_CLIENT_ID=your_google_client_id_here
获取步骤:
- 访问 Google Cloud Console
- 创建或选择项目
- 启用 Google+ API
- 创建 OAuth 2.0 客户端 ID
- 配置授权重定向 URI:
https://test.crushlevel.ai/api/auth/google/callbackhttp://localhost:3000/api/auth/google/callback(开发环境)
- 复制客户端 ID
环境变量文件示例
创建 .env.local 文件:
# .env.local
# App Configuration
NEXT_PUBLIC_APP_URL=http://localhost:3000
# Discord OAuth
NEXT_PUBLIC_DISCORD_CLIENT_ID=1234567890123456789
# Google OAuth
NEXT_PUBLIC_GOOGLE_CLIENT_ID=1234567890-abcdefghijklmnopqrstuvwxyz.apps.googleusercontent.com
不同环境的配置
开发环境 (.env.local)
NEXT_PUBLIC_APP_URL=http://localhost:3000
NEXT_PUBLIC_DISCORD_CLIENT_ID=dev_discord_client_id
NEXT_PUBLIC_GOOGLE_CLIENT_ID=dev_google_client_id
生产环境 (.env.production)
NEXT_PUBLIC_APP_URL=https://test.crushlevel.ai
NEXT_PUBLIC_DISCORD_CLIENT_ID=prod_discord_client_id
NEXT_PUBLIC_GOOGLE_CLIENT_ID=prod_google_client_id
安全注意事项
⚠️ 重要提醒
-
不要提交敏感信息到 Git
.env.local已在.gitignore中- 不要将真实的密钥提交到代码库
-
使用不同的凭据
- 开发环境和生产环境使用不同的 OAuth 凭据
- 定期轮换生产环境的密钥
-
限制回调 URL
- 只添加必要的回调 URL
- 不要使用通配符
-
环境变量前缀
NEXT_PUBLIC_前缀的变量会暴露到浏览器- 敏感的服务端密钥不要使用此前缀
验证配置
检查环境变量是否正确加载
在组件中添加调试代码(仅开发环境):
console.log('App URL:', process.env.NEXT_PUBLIC_APP_URL)
console.log('Discord Client ID:', process.env.NEXT_PUBLIC_DISCORD_CLIENT_ID)
console.log('Google Client ID:', process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID)
常见问题
问题 1: 环境变量未生效
解决方案:
- 重启开发服务器 (
npm run dev) - 确保文件名正确 (
.env.local) - 检查变量名拼写
问题 2: OAuth 回调失败
解决方案:
- 检查
NEXT_PUBLIC_APP_URL是否正确 - 确保回调 URL 在 OAuth 提供商处正确配置
- 开发环境使用
http://localhost:3000,生产环境使用实际域名
问题 3: 客户端 ID 无效
解决方案:
- 确认复制的是 Client ID 而不是 Client Secret
- 检查是否有多余的空格或换行符
- 确认 OAuth 应用状态为已发布/激活
添加新的环境变量
当添加新的环境变量时:
- 在
.env.local中添加变量 - 更新本文档
- 通知团队成员更新他们的本地配置
- 在部署平台(Vercel/Netlify 等)配置生产环境变量
部署平台配置
Vercel
- 进入项目设置
- 选择 "Environment Variables"
- 添加所有
NEXT_PUBLIC_*变量 - 为不同环境(Production/Preview/Development)设置不同的值
Netlify
- 进入 Site settings
- 选择 "Build & deploy" > "Environment"
- 添加环境变量