fix: bbs与ai存储refreshToken
This commit is contained in:
@@ -1,21 +1,18 @@
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
import {ElMessage, ElMessageBox} from "element-plus";
|
||||
import useUserStore from "@/stores/user";
|
||||
import router from "@/router";
|
||||
import { Session, Local } from "@/utils/storage";
|
||||
import{computed} from 'vue'
|
||||
import {
|
||||
userLogin,
|
||||
getUserDetailInfo,
|
||||
userLogout,
|
||||
userRegister, userRetrievePassword,
|
||||
} from "@/apis/auth";
|
||||
import {Local, Session} from "@/utils/storage";
|
||||
import {computed} from 'vue'
|
||||
import {getUserDetailInfo, userLogin, userLogout, userRegister, userRetrievePassword,} from "@/apis/auth";
|
||||
|
||||
const TokenKey = "AccessToken";
|
||||
const RefreshTokenKey = "RefreshToken";
|
||||
export const AUTH_MENUS = "AUTH_MENUS";
|
||||
export const AUTH_USER = "AUTH_USER";
|
||||
|
||||
|
||||
export default function useAuths(opt) {
|
||||
|
||||
|
||||
|
||||
|
||||
const defaultOpt = {
|
||||
@@ -35,6 +32,10 @@ export default function useAuths(opt) {
|
||||
var token= Local.get(TokenKey);
|
||||
return token;
|
||||
};
|
||||
// 获取token
|
||||
const getRefreshToken = () => {
|
||||
return Local.get(RefreshTokenKey);
|
||||
};
|
||||
|
||||
const isLogin=computed(()=>{
|
||||
return getToken()? true : false
|
||||
@@ -42,7 +43,7 @@ const isLogin=computed(()=>{
|
||||
|
||||
const currentUserInfo=computed(()=>{
|
||||
return useUserStore();
|
||||
});
|
||||
});
|
||||
|
||||
// 存储token到cookies
|
||||
const setToken = (token) => {
|
||||
@@ -50,7 +51,16 @@ const currentUserInfo=computed(()=>{
|
||||
return false;
|
||||
}
|
||||
Local.set(TokenKey, token);
|
||||
|
||||
|
||||
return true;
|
||||
};
|
||||
// 存储RefreshToken到cookies
|
||||
const setRefreshToken = (token) => {
|
||||
if (token == null) {
|
||||
return false;
|
||||
}
|
||||
Local.set(RefreshTokenKey, token);
|
||||
|
||||
return true;
|
||||
};
|
||||
|
||||
@@ -141,9 +151,10 @@ const currentUserInfo=computed(()=>{
|
||||
|
||||
// 登录成功之后的操作
|
||||
const loginSuccess = async (res) => {
|
||||
const { token } = res.data;
|
||||
const { token,refreshToken } = res.data;
|
||||
|
||||
setToken(token);
|
||||
setRefreshToken(refreshToken);
|
||||
useUserStore().updateToken(token);
|
||||
try {
|
||||
// 存储用户信息
|
||||
@@ -195,10 +206,12 @@ const currentUserInfo=computed(()=>{
|
||||
// console.log(error);
|
||||
// }
|
||||
};
|
||||
|
||||
|
||||
return {
|
||||
getToken,
|
||||
getRefreshToken,
|
||||
setToken,
|
||||
setRefreshToken,
|
||||
removeToken,
|
||||
loginFun,
|
||||
getUserInfo,
|
||||
|
||||
@@ -6,12 +6,13 @@ import "nprogress/nprogress.css";
|
||||
import useUserStore from "@/stores/user";
|
||||
|
||||
NProgress.configure({ showSpinner: false });
|
||||
const { getToken, logoutFun } = useAuths();
|
||||
const { getToken, logoutFun ,getRefreshToken} = useAuths();
|
||||
const whiteList = ["/login", "/auth-redirect", "/bind", "/register"];
|
||||
|
||||
router.beforeEach((to, from, next) => {
|
||||
NProgress.start();
|
||||
const hasToken = getToken();
|
||||
const refreshToken = getRefreshToken();
|
||||
if (to.path === "/login" || to.path === "/index") {
|
||||
const urlParams = new URLSearchParams(window.location.search);
|
||||
const isPopup = window.opener && window.opener !== window;
|
||||
@@ -24,7 +25,8 @@ router.beforeEach((to, from, next) => {
|
||||
const targetOrigin = new URL(decodeURIComponent(redirectUri)).origin;
|
||||
window.opener.postMessage({
|
||||
type: 'SSO_LOGIN_SUCCESS',
|
||||
token: hasToken
|
||||
token: hasToken,
|
||||
refreshToken: refreshToken,
|
||||
}, targetOrigin);
|
||||
// 立即关闭窗口
|
||||
setTimeout(() => window.close(), 100);
|
||||
|
||||
Reference in New Issue
Block a user