Update authentication redirects to use environment variable for site URL, enhancing flexibility for different environments. Add NEXT_PUBLIC_SITE_URL to .env for production URL configuration.

This commit is contained in:
2025-04-23 22:38:56 +08:00
parent b94a91914a
commit 92db5ad783
5 changed files with 115 additions and 4 deletions

42
README-auth-setup.md Normal file
View File

@@ -0,0 +1,42 @@
# 身份验证重定向 URL 配置指南
## 问题:注册后确认邮件链接指向 localhost
如果您在生产环境中使用此应用,并且发现用户注册后收到的确认邮件中的链接指向 `localhost` 而非您的实际网站域名,请按照以下步骤解决:
## 解决方案
### 1. 设置环境变量
在项目根目录的 `.env.production` 文件中,确保 `NEXT_PUBLIC_SITE_URL` 变量设置为您的实际生产域名:
```
NEXT_PUBLIC_SITE_URL="https://您的真实域名.com"
```
### 2. 在 Supabase 控制台中配置
登录 [Supabase 控制台](https://app.supabase.com/),然后:
1. 选择您的项目
2. 导航到 **Authentication** > **URL Configuration**
3.**Site URL** 字段中输入您的实际网站 URL
4.**Redirect URLs** 部分添加:
- `https://您的真实域名.com/auth/callback`
### 3. 本地开发与生产环境
- **开发环境**:使用 `.env.development` 文件中的设置,通常为 `http://localhost:3007`
- **生产环境**:使用 `.env.production` 文件中的设置,应为您的实际域名
### 4. 部署后验证
项目重新部署后:
1. 尝试注册一个新账户
2. 检查收到的确认邮件,确认链接现在指向您的实际域名而非 localhost
## 技术说明
身份验证流程中,应用使用环境变量 `NEXT_PUBLIC_SITE_URL` 构建重定向 URL。如果未设置此变量它会回退到使用 `window.location.origin`,这在本地开发时会是 `localhost`
通过正确设置此变量,您可以确保无论在何处运行应用,邮件中的链接都能正确指向应用的实际位置。