added more support
This commit is contained in:
Vendored
+6
@@ -0,0 +1,6 @@
|
||||
import PassCheck from "./passwordcheck";
|
||||
import JwtAuth from "./jwt";
|
||||
import PassPolicy from "./passpolicy";
|
||||
import RateLimit from "./ratelimit";
|
||||
import PasswordGenerator from "./passgen";
|
||||
export { PassCheck, JwtAuth, PassPolicy, RateLimit, PasswordGenerator };
|
||||
Vendored
+40
@@ -0,0 +1,40 @@
|
||||
import * as jwt from 'jsonwebtoken';
|
||||
export default class JwtAuth {
|
||||
private JWTSecretKey;
|
||||
private blacklist;
|
||||
constructor(JWTSecretKey: string);
|
||||
generateJWT(payload: {
|
||||
[key: string]: any;
|
||||
}, settings?: jwt.SignOptions, secretKey?: string): string;
|
||||
verifyJWT(token: string, secretKey?: string): jwt.JwtPayload | undefined;
|
||||
decodeJWT(token: string): jwt.JwtPayload;
|
||||
getJWTExpirationDate(token: string): number | {
|
||||
valid: boolean;
|
||||
message: string;
|
||||
};
|
||||
isJWTExpired(token: string): {
|
||||
valid: boolean;
|
||||
message: string;
|
||||
} | boolean;
|
||||
refreshJWT(token: string, settings?: jwt.SignOptions, secretKey?: string): string | {
|
||||
valid: boolean;
|
||||
message: string;
|
||||
};
|
||||
BlackListJWT(token: string): {
|
||||
valid: boolean;
|
||||
message: string;
|
||||
};
|
||||
ClearBlackList(): {
|
||||
valid: boolean;
|
||||
message: string;
|
||||
};
|
||||
GetBlackList(): string[];
|
||||
RemoveFromBlackList(token: string): {
|
||||
valid: boolean;
|
||||
message: string;
|
||||
};
|
||||
IsBlackListed(token: string): {
|
||||
valid: boolean;
|
||||
message: string;
|
||||
};
|
||||
}
|
||||
Vendored
+13
@@ -0,0 +1,13 @@
|
||||
export default class PasswordGenerator {
|
||||
private options;
|
||||
constructor(options: {
|
||||
minLength: number;
|
||||
maxLength: number;
|
||||
minLower: number;
|
||||
minUpper: number;
|
||||
minNum: number;
|
||||
minSpecial: number;
|
||||
specialChars: string;
|
||||
});
|
||||
Generate(length?: number): string;
|
||||
}
|
||||
Vendored
+20
@@ -0,0 +1,20 @@
|
||||
export default class PassPolicy {
|
||||
private options;
|
||||
constructor(options: {
|
||||
minLength: number;
|
||||
maxLength: number;
|
||||
minLower: number;
|
||||
minUpper: number;
|
||||
minNum: number;
|
||||
minSpecial: number;
|
||||
specialChars: string;
|
||||
});
|
||||
validate(password: string): {
|
||||
valid: boolean;
|
||||
message?: string;
|
||||
};
|
||||
CheckDifference(newPassword: string, oldPassword: string, neededDifference?: number): {
|
||||
valid: boolean;
|
||||
message?: string;
|
||||
};
|
||||
}
|
||||
Vendored
+15
@@ -0,0 +1,15 @@
|
||||
export default class PassCheck {
|
||||
private BcryptSaltRounds;
|
||||
private PassPolicy;
|
||||
constructor(BcryptSaltRounds: number, PassPolicyOptions: {
|
||||
minLength: number;
|
||||
maxLength: number;
|
||||
minLower: number;
|
||||
minUpper: number;
|
||||
minNum: number;
|
||||
minSpecial: number;
|
||||
specialChars: string;
|
||||
});
|
||||
verifyPassword(password: string, hash: string): Promise<boolean>;
|
||||
hashPassword(password: string): Promise<string>;
|
||||
}
|
||||
Vendored
+46
@@ -0,0 +1,46 @@
|
||||
type Event = {
|
||||
name: string;
|
||||
cooldown: number;
|
||||
maxAttempts: number;
|
||||
lastAttempt?: number;
|
||||
attempts?: number[];
|
||||
};
|
||||
type user = {
|
||||
token: string;
|
||||
events: {
|
||||
[name: string]: Event;
|
||||
};
|
||||
};
|
||||
export default class RateLimit {
|
||||
users: {
|
||||
[token: string]: user;
|
||||
};
|
||||
events: {
|
||||
[name: string]: Event;
|
||||
};
|
||||
constructor(users?: {
|
||||
[token: string]: user;
|
||||
}, events?: {
|
||||
[name: string]: Event;
|
||||
});
|
||||
addEvent(event: Event): boolean;
|
||||
removeEvent(name: string): boolean;
|
||||
addUser(token: string): boolean;
|
||||
removeUser(token: string): boolean;
|
||||
attempt(token: string, name: string): boolean;
|
||||
getEvents(): {
|
||||
[name: string]: Event;
|
||||
};
|
||||
getUsers(): {
|
||||
[token: string]: user;
|
||||
};
|
||||
getEvent(name: string): Event;
|
||||
getUser(token: string): user;
|
||||
remainingAttempts(token: string, name: string): number;
|
||||
resetAttempts(token: string, name: string): boolean;
|
||||
resetAllAttempts(token: string): boolean;
|
||||
resetAllUsers(): boolean;
|
||||
resetEvent(name: string): boolean;
|
||||
resetUser(token: string): boolean;
|
||||
}
|
||||
export {};
|
||||
Reference in New Issue
Block a user