register/page.tsx - 注册页

register/page.tsx - 注册页

基本信息

属性
路径src/app/(auth)/register/page.tsx
类型Next.js 页面组件 (Server Component)
功能用户注册页面

功能描述

提供用户注册功能。当凭证认证未启用或注册功能被禁用时,自动重定向到登录页。

导入依赖

import { Metadata } from "next";
import Link from "next/link";
import { redirect } from "next/navigation";
import { getTranslations } from "next-intl/server";
import { getConfig } from "@/lib/config";
import { AuthContent } from "@/components/auth/auth-content";

元数据

export const metadata: Metadata = {
  title: "Register",
  description: "Create a new account",
};

辅助函数

getProviders(config)

与登录页相同,提取认证提供者列表。

组件逻辑

主组件: RegisterPage

访问控制:

if (!hasCredentials || !config.auth.allowRegistration) {
  redirect("/login");
}

阻止注册的条件:

  1. 未启用凭证认证(!hasCredentials
  2. 注册功能被禁用(!config.auth.allowRegistration

UI 结构

Container (flex, min-h, centered)
├── max-w-sm wrapper
│   ├── Header (centered)
│   │   ├── Title: "注册"
│   │   └── Description: registerDescription
│   ├── AuthContent (bordered box)
│   │   └── providers, mode="register"
│   └── Footer Link
│       └── "已有账号?登录" → /login

翻译键值

键值用途
auth.register页面标题
auth.registerDescription注册说明
auth.hasAccount"已有账号" 文本
auth.login"登录" 链接文本

相关组件

  • AuthContent (@/components/auth/auth-content) - 注册表单主体

路由

路径说明
/register注册页面
/login登录页面(链接跳转/重定向目标)

配置依赖

  • config.auth.providers / config.auth.provider - 认证提供者
  • config.auth.allowRegistration - 是否允许注册

与登录页对比

特性登录页注册页
访问控制无限制可能重定向
OAuth 描述动态切换固定描述
底部链接注册(条件)登录(固定)
品牌标识可传递不传递
← 返回目录