src/lib/plugins/auth/index.ts

src/lib/plugins/auth/index.ts

认证插件注册模块,负责注册所有内置的认证插件。

概述

该模块是认证插件系统的入口,集中管理所有内置认证插件的注册。支持多种认证方式:

  • 邮箱密码认证(credentials)
  • GitHub OAuth
  • Google OAuth
  • Azure AD(Microsoft)
  • Apple Sign In

主要导出

registerBuiltInAuthPlugins

注册所有内置认证插件到全局注册表。

import { registerBuiltInAuthPlugins } from "@/lib/plugins/auth";

registerBuiltInAuthPlugins();

此函数会依次注册以下插件:

  1. credentialsPlugin - 邮箱密码认证
  2. googlePlugin - Google OAuth
  3. azurePlugin - Azure AD
  4. githubPlugin - GitHub OAuth
  5. applePlugin - Apple Sign In

插件导出

也可以单独导入特定插件:

import { 
  credentialsPlugin, 
  googlePlugin, 
  azurePlugin, 
  githubPlugin, 
  applePlugin 
} from "@/lib/plugins/auth";

使用方式

通常在应用启动时通过 initializePlugins() 自动调用,无需手动注册:

import { initializePlugins } from "@/lib/plugins";

// 自动注册所有内置插件
initializePlugins();

添加新认证插件

要添加新的认证插件:

  1. 创建新的插件文件(如 ./wechat.ts
  2. 实现 AuthPlugin 接口
  3. 在此文件中导入并添加到 registerBuiltInAuthPlugins 函数
import { wechatPlugin } from "./wechat";

export function registerBuiltInAuthPlugins(): void {
  registerAuthPlugin(credentialsPlugin);
  // ... 其他插件
  registerAuthPlugin(wechatPlugin); // 添加新插件
}

相关文档

  • credentials.ts - 邮箱密码认证
  • github.ts - GitHub OAuth
  • google.ts - Google OAuth
  • azure.ts - Azure AD
  • apple.ts - Apple Sign In
← 返回目录