next-auth-oauth
Version:
`next-auth-oauth` 是一个基于 Next.js 和 NextAuth 的增强插件,用于简化和增强授权登录的处理。该插件提供了丰富的功能,包括第三方登录绑定、账户管理等,使得授权流程更加高效和灵活。
63 lines (62 loc) • 1.76 kB
TypeScript
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;