homebridge-config-ui-x
Version:
A web based management, configuration and control platform for Homebridge.
45 lines (44 loc) • 1.83 kB
TypeScript
import { JwtService } from '@nestjs/jwt';
import { UserDto } from '../../modules/users/users.dto';
import { ConfigService } from '../config/config.service';
import { Logger } from '../logger/logger.service';
export declare class AuthService {
private readonly jwtService;
private readonly configService;
private readonly logger;
private otpUsageCache;
constructor(jwtService: JwtService, configService: ConfigService, logger: Logger);
authenticate(username: string, password: string, otp?: string): Promise<any>;
signIn(username: string, password: string, otp?: string): Promise<any>;
private checkPassword;
generateNoAuthToken(): Promise<{
access_token: string;
token_type: string;
expires_in: number;
}>;
validateUser(payload: any): Promise<any>;
private hashPassword;
private genSalt;
setupFirstUser(user: UserDto): Promise<UserDto>;
generateSetupWizardToken(): Promise<{
access_token: string;
token_type: string;
expires_in: number;
}>;
checkAuthFile(): Promise<void>;
desensitiseUserProfile(user: UserDto): UserDto;
getUsers(strip?: boolean): Promise<UserDto[]>;
findByUsername(username: string): Promise<UserDto>;
private saveUserFile;
addUser(user: UserDto): Promise<UserDto>;
deleteUser(id: number): Promise<void>;
updateUser(id: number, update: UserDto): Promise<UserDto>;
updateOwnPassword(username: string, currentPassword: string, newPassword: string): Promise<UserDto>;
setupOtp(username: string): Promise<{
timestamp: Date;
otpauth: string;
}>;
activateOtp(username: string, code: string): Promise<UserDto>;
deactivateOtp(username: string, password: string): Promise<UserDto>;
verifyOtpToken(user: UserDto, otp: string): boolean;
}