feat:token修改
This commit is contained in:
@@ -30,7 +30,7 @@ export function createRouteGuard(router: Router) {
|
|||||||
const loginRoute: RouteKey = 'login';
|
const loginRoute: RouteKey = 'login';
|
||||||
const noAuthorizationRoute: RouteKey = '403';
|
const noAuthorizationRoute: RouteKey = '403';
|
||||||
|
|
||||||
const isLogin = Boolean(localStg.get('token'));
|
const isLogin = Boolean(localStg.get('tokenU'));
|
||||||
const needLogin = !to.meta.constant;
|
const needLogin = !to.meta.constant;
|
||||||
const routeRoles = to.meta.roles || [];
|
const routeRoles = to.meta.roles || [];
|
||||||
|
|
||||||
@@ -150,7 +150,7 @@ async function checkRoute(to: RouteLocationNormalized): Promise<RouteLocationRaw
|
|||||||
}
|
}
|
||||||
|
|
||||||
// if the auth route is not initialized, then initialize the auth route
|
// if the auth route is not initialized, then initialize the auth route
|
||||||
const isLogin = Boolean(localStg.get('token'));
|
const isLogin = Boolean(localStg.get('tokenU'));
|
||||||
// initialize the auth route requires the user to be logged in, if not, redirect to the login page
|
// initialize the auth route requires the user to be logged in, if not, redirect to the login page
|
||||||
if (!isLogin) {
|
if (!isLogin) {
|
||||||
const loginRoute: RouteKey = 'login';
|
const loginRoute: RouteKey = 'login';
|
||||||
@@ -214,7 +214,7 @@ function checkRedirectParams(){
|
|||||||
const wanfiRedirectParams = sessionStg.get('wanfiRedirectParams');
|
const wanfiRedirectParams = sessionStg.get('wanfiRedirectParams');
|
||||||
if (wanfiRedirectParams) {
|
if (wanfiRedirectParams) {
|
||||||
if (!['site', 'clientMac'].every(s => Object.keys(wanfiRedirectParams).includes(s))) {
|
if (!['site', 'clientMac'].every(s => Object.keys(wanfiRedirectParams).includes(s))) {
|
||||||
localStg.remove('token');
|
localStg.remove('tokenU');
|
||||||
sessionStg.remove('wanfiRedirectParams');
|
sessionStg.remove('wanfiRedirectParams');
|
||||||
reLoadLocationHref();
|
reLoadLocationHref();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ export const request = createFlatRequest<App.Service.Response, InstanceState>(
|
|||||||
const { headers } = config;
|
const { headers } = config;
|
||||||
|
|
||||||
// set token
|
// set token
|
||||||
const token = localStg.get('token');
|
const token = localStg.get('tokenU');
|
||||||
const Authorization = token ? `Bearer ${token}` : null;
|
const Authorization = token ? `Bearer ${token}` : null;
|
||||||
|
|
||||||
// set language
|
// set language
|
||||||
@@ -144,7 +144,7 @@ export const rawRequest = createRequest(
|
|||||||
const { headers } = config;
|
const { headers } = config;
|
||||||
|
|
||||||
// set token
|
// set token
|
||||||
const token = localStg.get('token');
|
const token = localStg.get('tokenU');
|
||||||
const Authorization = token ? `Bearer ${token}` : null;
|
const Authorization = token ? `Bearer ${token}` : null;
|
||||||
|
|
||||||
// set language
|
// set language
|
||||||
|
|||||||
@@ -11,11 +11,11 @@ import { fetchRefreshToken } from '../api/auth';
|
|||||||
export async function handleRefreshToken(axiosConfig: AxiosRequestConfig) {
|
export async function handleRefreshToken(axiosConfig: AxiosRequestConfig) {
|
||||||
const { resetStore } = useAuthStore();
|
const { resetStore } = useAuthStore();
|
||||||
|
|
||||||
const refreshToken = localStg.get('refreshToken') || '';
|
const refreshToken = localStg.get('refreshTokenU') || '';
|
||||||
const { error, data } = await fetchRefreshToken(refreshToken);
|
const { error, data } = await fetchRefreshToken(refreshToken);
|
||||||
if (!error) {
|
if (!error) {
|
||||||
localStg.set('token', data.access_token);
|
localStg.set('tokenU', data.access_token);
|
||||||
localStg.set('refreshToken', data.refreshToken);
|
localStg.set('refreshTokenU', data.refreshToken);
|
||||||
|
|
||||||
const config = { ...axiosConfig };
|
const config = { ...axiosConfig };
|
||||||
if (config.headers) {
|
if (config.headers) {
|
||||||
|
|||||||
@@ -100,8 +100,8 @@ export const useAuthStore = defineStore(SetupStoreId.Auth, () => {
|
|||||||
|
|
||||||
async function loginByToken(loginToken: Api.Auth.LoginToken) {
|
async function loginByToken(loginToken: Api.Auth.LoginToken) {
|
||||||
// 1. stored in the localStorage, the later requests need it in headers
|
// 1. stored in the localStorage, the later requests need it in headers
|
||||||
localStg.set('token', loginToken.access_token);
|
localStg.set('tokenU', loginToken.access_token);
|
||||||
localStg.set('refreshToken', loginToken.refreshToken);
|
localStg.set('refreshTokenU', loginToken.refreshToken);
|
||||||
token.value = loginToken.access_token;
|
token.value = loginToken.access_token;
|
||||||
|
|
||||||
const isSuccess = await refreshUserInfo();
|
const isSuccess = await refreshUserInfo();
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { localStg } from '@/utils/storage';
|
|||||||
|
|
||||||
/** Get token */
|
/** Get token */
|
||||||
export function getToken() {
|
export function getToken() {
|
||||||
return localStg.get('token') || '';
|
return localStg.get('tokenU') || '';
|
||||||
}
|
}
|
||||||
|
|
||||||
export const emptyInfo: Api.Auth.UserInfo = {
|
export const emptyInfo: Api.Auth.UserInfo = {
|
||||||
@@ -13,6 +13,6 @@ export const emptyInfo: Api.Auth.UserInfo = {
|
|||||||
|
|
||||||
/** Clear auth storage */
|
/** Clear auth storage */
|
||||||
export function clearAuthStorage() {
|
export function clearAuthStorage() {
|
||||||
localStg.remove('token');
|
localStg.remove('tokenU');
|
||||||
localStg.remove('refreshToken');
|
localStg.remove('refreshTokenU');
|
||||||
}
|
}
|
||||||
|
|||||||
4
src/typings/storage.d.ts
vendored
4
src/typings/storage.d.ts
vendored
@@ -15,9 +15,9 @@ declare namespace StorageType {
|
|||||||
/** The i18n language */
|
/** The i18n language */
|
||||||
lang: App.I18n.LangType;
|
lang: App.I18n.LangType;
|
||||||
/** The token */
|
/** The token */
|
||||||
token: string;
|
tokenU: string;
|
||||||
/** The refresh token */
|
/** The refresh token */
|
||||||
refreshToken: string;
|
refreshTokenU: string;
|
||||||
/** The user info */
|
/** The user info */
|
||||||
userInfo: Api.Auth.UserInfo;
|
userInfo: Api.Auth.UserInfo;
|
||||||
/** The theme color */
|
/** The theme color */
|
||||||
|
|||||||
Reference in New Issue
Block a user