jv3-login-jwt
Version:
easy login from assign by route by cdnagroup using vuetify
56 lines (55 loc) • 1.65 kB
TypeScript
import { IJAuthConfig } from "@/jv3-login-jwt.d";
import { Router, RouteRecordRaw } from "vue-router";
export default class JAuth implements IJAuthConfig {
url: string;
path_login: string;
path_refresh: string;
path_user: string;
customLogin?: Function;
callbackLogin?: Function;
customLogout?: Function;
callbackLogout?: Function;
exceptions: Array<any>;
jwtStorage: string;
defaultTokenExprie?: number;
tokenExprieBefore?: number;
authStorage: string;
expStorage: string;
defaultRoutePath?: string;
handleError?: Function;
title?: string;
hello?: string;
customRouteMeta?: object;
loginRouterView: RouteRecordRaw;
autoLogout: any;
beforeRoute: any;
userUrl: string;
refreshUrl: string;
authUrl: string;
user: object | null;
router: Router;
logoutTimer: any | null;
expiresAt: number | null;
refreshIntervalTimer: number;
refreshInterval: any | null;
constructor(config: IJAuthConfig, router: Router);
private initialize;
getLocalStorage(key: string): any;
setUser(user: any): void;
loadUser(): void;
login(user: {
username: string;
password: string;
}): Promise<import("axios").AxiosResponse<any, any>>;
directRouter(): void;
directLogin(): void;
getUser(): Promise<any>;
refreshToken(): Promise<boolean>;
private startLogoutTimer;
setExpiresIn(expiry: number): void;
getExpiresAt(): number | null;
getExpiresIn(expiry: number): number | null;
saveBeforeRoute(to: any): void;
setAutoLogout(expiry: number): void;
logout(): Promise<void>;
}