payload-auth-plugin
Version:
Authentication plugin for Payload CMS
72 lines (67 loc) • 2.17 kB
TypeScript
import { A as AuthPluginOutput, E as ErrorKind, S as SuccessKind } from '../types-D_f0kW5e.js';
import 'oauth4webapi';
interface PasswordSigninPayload {
email: string;
password: string;
}
interface PasswordSignupPayload {
email: string;
password: string;
allowAutoSignin?: boolean;
userInfo?: Record<string, unknown>;
}
interface ForgotPasswordPayload {
email: string;
}
interface PasswordRecoverPayload {
password: string;
code: string;
}
interface PasswordResetPayload {
email: string;
password: string;
}
type OauthProvider = "google" | "github" | "apple" | "cognito" | "gitlab" | "msft-entra" | "slack" | "atlassian" | "auth0" | "discord" | "facebook" | "jumpcloud" | "twitch" | "okta" | "roblox";
declare class AuthClient {
private name;
private baseURL;
constructor(name: string, options?: {
payloadBaseURL?: string | undefined;
} | undefined);
/**
* Sign in a user
* @param additionalScope - Additional scope to request
* @returns The sign in response
*/
signin(additionalScope?: string): {
oauth: (provider: OauthProvider) => void;
password: (payload: PasswordSigninPayload) => Promise<AuthPluginOutput>;
};
register(): {
password: (paylaod: PasswordSignupPayload) => Promise<AuthPluginOutput>;
};
resetPassword(payload: PasswordResetPayload): Promise<AuthPluginOutput>;
forgotPassword(payload: ForgotPasswordPayload): Promise<AuthPluginOutput>;
recoverPassword(payload: PasswordRecoverPayload): Promise<AuthPluginOutput>;
getSession({ headers }: {
headers: HeadersInit;
}): Promise<AuthPluginOutput>;
getClientSession(): Promise<{
data: unknown;
message: string;
kind: ErrorKind | SuccessKind;
isError: boolean;
isSuccess: boolean;
}>;
signout({ returnTo }: {
returnTo?: string | undefined;
}): Promise<{
data: unknown;
message: string;
kind: ErrorKind | SuccessKind;
isError: boolean;
isSuccess: boolean;
}>;
refreshSession(): Promise<AuthPluginOutput>;
}
export { AuthClient };