UNPKG

next-auth-oauth

Version:

`next-auth-oauth` 是一个基于 Next.js 和 NextAuth 的增强插件,用于简化和增强授权登录的处理。该插件提供了丰富的功能,包括第三方登录绑定、账户管理等,使得授权流程更加高效和灵活。

63 lines (62 loc) 1.76 kB
import type { Adapter } from 'next-auth/adapters'; import type { BindoAuthAccountInfo, IUserService, NextAuthConfig, NextAuthResultType } from './type'; /** * 从cookie获得绑定账号信息 * @returns */ export declare function loadTempOauthUser(): Promise<BindoAuthAccountInfo>; export declare class CredentialsOauth { private userService; private authAdapter; private bindPage; private autoBind; constructor(userService: IUserService, nextAuthAdapter: Adapter, /** * 配置绑定UI */ bindPage?: string, /** * 登录过的账号自动绑定 */ autoBind?: boolean); /** * 构建账号密码登录的provider * @param options * @returns */ getCredentialsProvider(): import("next-auth/providers").CredentialsConfig<Record<string, import("next-auth/providers").CredentialInput>>; private signInCallback; private sessionCallback; private jwtCallback; /** * * @param config * @returns */ nextAuth(config: NextAuthConfig): NextAuthResultType; } export type AdavanceNextAuthConfig = NextAuthConfig & { /** * 第三方账号首次登录绑定页面 */ bindPage?: string; /** * 已登录后账号默认是否自动绑定 * @default false */ autoBind?: boolean; /** * 配置用户数据库服务 */ userService: IUserService; adapter: Adapter; }; /** * 封装好的支持授权绑定的服务 * 1. 分装好regist注册`ServerAction` * 2. 封装好`Credentials`的认证逻辑 * 3. 分装好`OauthCallcak`的逻辑,自动判断账号有效性 * @param config * @returns */ export declare function AdavanceNextAuth(config: AdavanceNextAuthConfig): NextAuthResultType;