realm-object-server
Version:
22 lines (21 loc) • 911 B
TypeScript
import { AuthService } from "../services/AuthService";
import { User } from "../realms/AdminRealm";
export interface IAuthProvider {
name: string;
start?(): Promise<void>;
stop?(): Promise<void>;
authenticateOrCreateUser(body: any): Promise<User>;
update?(user: User, body: any): Promise<any>;
deleteUser?(userId: string): Promise<boolean>;
updateProviderAccount?(providerId: string, user: User, data: any, isAuthenticated: boolean, userAgent: any, remoteIp: string): Promise<any>;
enhanceLog?(body: any): string;
}
export declare abstract class AuthProvider implements IAuthProvider {
protected service: AuthService;
abstract readonly name: string;
start(): Promise<void>;
stop(): Promise<void>;
abstract authenticateOrCreateUser(body: any): Promise<User>;
update(user: User, body: any): Promise<any>;
deleteUser(userId: string): Promise<boolean>;
}