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();
此函数会依次注册以下插件:
credentialsPlugin- 邮箱密码认证googlePlugin- Google OAuthazurePlugin- Azure ADgithubPlugin- GitHub OAuthapplePlugin- Apple Sign In
插件导出
也可以单独导入特定插件:
import {
credentialsPlugin,
googlePlugin,
azurePlugin,
githubPlugin,
applePlugin
} from "@/lib/plugins/auth";
使用方式
通常在应用启动时通过 initializePlugins() 自动调用,无需手动注册:
import { initializePlugins } from "@/lib/plugins";
// 自动注册所有内置插件
initializePlugins();
添加新认证插件
要添加新的认证插件:
- 创建新的插件文件(如
./wechat.ts) - 实现
AuthPlugin接口 - 在此文件中导入并添加到
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