# 身份验证重定向 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`。 通过正确设置此变量,您可以确保无论在何处运行应用,邮件中的链接都能正确指向应用的实际位置。