From 43bc0ca39be664ffaeea6256a9f2160f5a8f7e40 Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: Sat, 01 Aug 2020 18:28:30 +0800
Subject: [PATCH] OAuth自动刷新续签Token
---
ruoyi-ui/src/store/modules/user.js | 32 ++++++++++++++++++++++++++++++--
1 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/ruoyi-ui/src/store/modules/user.js b/ruoyi-ui/src/store/modules/user.js
index 5c8a33f..c097710 100644
--- a/ruoyi-ui/src/store/modules/user.js
+++ b/ruoyi-ui/src/store/modules/user.js
@@ -1,9 +1,10 @@
-import { login, logout, getInfo } from '@/api/login'
-import { getToken, setToken, removeToken } from '@/utils/auth'
+import { login, logout, getInfo, refreshToken } from '@/api/login'
+import { getToken, getRefreshToken, setToken, setRefreshToken, setExpiresIn, removeToken } from '@/utils/auth'
const user = {
state: {
token: getToken(),
+ refresh_token: getRefreshToken(),
name: '',
avatar: '',
roles: [],
@@ -13,6 +14,12 @@
mutations: {
SET_TOKEN: (state, token) => {
state.token = token
+ },
+ SET_EXPIRES_IN: (state, time) => {
+ state.expires_in = time
+ },
+ SET_REFRESH_TOKEN: (state, token) => {
+ state.refresh_token = token
},
SET_NAME: (state, name) => {
state.name = name
@@ -39,6 +46,10 @@
login(username, password, code, uuid).then(res => {
setToken(res.access_token)
commit('SET_TOKEN', res.access_token)
+ setRefreshToken(res.refresh_token)
+ commit('SET_REFRESH_TOKEN', res.refresh_token)
+ setExpiresIn(res.expires_in)
+ commit('SET_EXPIRES_IN', res.expires_in)
resolve()
}).catch(error => {
reject(error)
@@ -67,6 +78,23 @@
})
},
+ // 刷新token
+ RefreshToken({commit, state}) {
+ return new Promise((resolve, reject) => {
+ refreshToken(state.refresh_token).then(res => {
+ setToken(res.access_token)
+ commit('SET_TOKEN', res.access_token)
+ setRefreshToken(res.refresh_token)
+ commit('SET_REFRESH_TOKEN', res.refresh_token)
+ setExpiresIn(res.expires_in)
+ commit('SET_EXPIRES_IN', res.expires_in)
+ resolve()
+ }).catch(error => {
+ reject(error)
+ })
+ })
+ },
+
// 退出系统
LogOut({ commit, state }) {
return new Promise((resolve, reject) => {
--
Gitblit v1.9.3