@j2blasco/ts-auth
Version:
TypeScript authentication abstraction library that eliminates vendor lock-in and provides mock-free testing for both frontend and backend authentication systems
52 lines (51 loc) • 1.68 kB
TypeScript
import { Result, ErrorUnknown, ErrorWithCode } from '@j2blasco/ts-result';
import { IAuthBackend } from 'backend/core/auth-backend.interface';
import { Subject } from 'rxjs';
export declare class AuthBackendTesting implements IAuthBackend {
constructor();
changePassword(args: {
uid: string;
newPassword: string;
}): Promise<Result<void, ErrorUnknown>>;
sendResetPasswordEmail(_args: {
email: string;
}): Promise<Result<{
success: boolean;
}, ErrorUnknown>>;
private registeredUsers;
getUidFromIdToken(idToken: string): Promise<Result<string, ErrorUnknown>>;
onUserCreated$: Subject<{
uid: string;
}>;
onUserDeleted$: Subject<{
uid: string;
}>;
signInWithEmailAndPassword(args: {
email: string;
password: string;
}): Promise<Result<{
uid: string;
refreshToken: string;
idToken: string;
}, ErrorWithCode<'invalid-email'> | ErrorWithCode<'user-not-found'> | ErrorWithCode<'wrong-password'> | ErrorUnknown>>;
signInWithRefreshToken(refreshToken: string): Promise<Result<{
idToken: string;
uid: string;
}, ErrorUnknown>>;
signUpWithEmailPassword(_args: {
email: string;
password: string;
}): Promise<Result<{
uid: string;
}, ErrorUnknown>>;
changeEmail(_args: {
uid: string;
newEmail: string;
}): Promise<Result<void, ErrorUnknown>>;
deleteUser(_args: {
uid: string;
}): Promise<Result<void, ErrorUnknown>>;
getUidByEmail(email: string): Promise<Result<{
uid: string;
}, ErrorWithCode<'email-not-found'> | ErrorUnknown>>;
}