登录后,返回 OAuth2 的 access token + refresh token

This commit is contained in:
YunaiV
2022-05-09 19:40:10 +08:00
parent 5ea9cc3cd7
commit 86e6c04e07
29 changed files with 134 additions and 680 deletions

View File

@ -22,7 +22,7 @@ import Quill from "quill";
import "quill/dist/quill.core.css";
import "quill/dist/quill.snow.css";
import "quill/dist/quill.bubble.css";
import { getToken } from "@/utils/auth";
import { getAccessToken } from "@/utils/auth";
export default {
name: "Editor",
@ -62,7 +62,7 @@ export default {
return {
uploadUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传的图片服务器地址
headers: {
Authorization: "Bearer " + getToken()
Authorization: "Bearer " + getAccessToken()
},
Quill: null,
currentValue: "",

View File

@ -40,7 +40,7 @@
</template>
<script>
import { getToken } from "@/utils/auth";
import { getAccessToken } from "@/utils/auth";
export default {
name: "FileUpload",
@ -75,7 +75,7 @@ export default {
baseUrl: process.env.VUE_APP_BASE_API,
uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传的图片服务器地址
headers: {
Authorization: "Bearer " + getToken(),
Authorization: "Bearer " + getAccessToken(),
},
fileList: [],
};

View File

@ -43,7 +43,7 @@
</template>
<script>
import { getToken } from "@/utils/auth";
import { getAccessToken } from "@/utils/auth";
export default {
props: {
@ -79,7 +79,7 @@ export default {
baseUrl: process.env.VUE_APP_BASE_API,
uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传的图片服务器地址
headers: {
Authorization: "Bearer " + getToken(),
Authorization: "Bearer " + getAccessToken(),
},
fileList: []
};

View File

@ -18,7 +18,7 @@
</template>
<script>
import { getToken } from "@/utils/auth";
import { getAccessToken } from "@/utils/auth";
export default {
components: {},
@ -26,7 +26,7 @@ export default {
return {
uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传的图片服务器地址
headers: {
Authorization: "Bearer " + getToken(),
Authorization: "Bearer " + getAccessToken(),
},
};
},
@ -65,4 +65,4 @@ export default {
width: 100%;
height: 100%;
}
</style>
</style>

View File

@ -3,7 +3,7 @@ import store from './store'
import { Message } from 'element-ui'
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
import { getToken } from '@/utils/auth'
import { getAccessToken } from '@/utils/auth'
import { isRelogin } from '@/utils/request'
NProgress.configure({ showSpinner: false })
@ -13,7 +13,7 @@ const whiteList = ['/login', '/social-login', '/auth-redirect', '/bind', '/regi
router.beforeEach((to, from, next) => {
NProgress.start()
if (getToken()) {
if (getAccessToken()) {
to.meta.title && store.dispatch('settings/setTitle', to.meta.title)
/* has token*/
if (to.path === '/login') {

View File

@ -1,9 +1,10 @@
import {login, logout, getInfo, socialQuickLogin, socialBindLogin, smsLogin} from '@/api/login'
import { getToken, setToken, removeToken } from '@/utils/auth'
import {getAccessToken, setToken, removeToken, getRefreshToken} from '@/utils/auth'
const user = {
state: {
token: getToken(),
accessToken: getAccessToken(),
refreshToken: getRefreshToken(),
id: 0, // 用户编号
name: '',
avatar: '',
@ -16,7 +17,8 @@ const user = {
state.id = id
},
SET_TOKEN: (state, token) => {
state.token = token
state.accessToken = token.accessToken
state.refreshToken = token.refreshToken
},
SET_NAME: (state, name) => {
state.name = name
@ -42,8 +44,9 @@ const user = {
return new Promise((resolve, reject) => {
login(username, password, code, uuid).then(res => {
res = res.data;
setToken(res.token)
commit('SET_TOKEN', res.token)
// 设置 token
setToken(res)
commit('SET_TOKEN', res)
resolve()
}).catch(error => {
reject(error)
@ -59,8 +62,9 @@ const user = {
return new Promise((resolve, reject) => {
socialQuickLogin(type, code, state).then(res => {
res = res.data;
setToken(res.token)
commit('SET_TOKEN', res.token)
// 设置 token
setToken(res)
commit('SET_TOKEN', res)
resolve()
}).catch(error => {
reject(error)
@ -78,8 +82,9 @@ const user = {
return new Promise((resolve, reject) => {
socialBindLogin(type, code, state, username, password).then(res => {
res = res.data;
setToken(res.token)
commit('SET_TOKEN', res.token)
// 设置 token
setToken(res)
commit('SET_TOKEN', res)
resolve()
}).catch(error => {
reject(error)
@ -93,8 +98,9 @@ const user = {
return new Promise((resolve, reject) => {
smsLogin(mobile,mobileCode).then(res => {
res = res.data;
setToken(res.token)
commit('SET_TOKEN', res.token)
// 设置 token
setToken(res)
commit('SET_TOKEN', res)
resolve()
}).catch(error => {
reject(error)
@ -151,15 +157,6 @@ const user = {
reject(error)
})
})
},
// 前端 登出
FedLogOut({ commit }) {
return new Promise(resolve => {
commit('SET_TOKEN', '')
removeToken()
resolve()
})
}
}
}

View File

@ -1,15 +1,22 @@
import Cookies from 'js-cookie'
const TokenKey = 'Admin-Token'
const AccessTokenKey = 'ACCESS_TOKEN'
const RefreshTokenKey = 'REFRESH_TOKEN'
export function getToken() {
return Cookies.get(TokenKey)
export function getAccessToken() {
return Cookies.get(AccessTokenKey)
}
export function getRefreshToken() {
return Cookies.get(AccessTokenKey)
}
export function setToken(token) {
return Cookies.set(TokenKey, token)
Cookies.set(AccessTokenKey, token.accessToken)
Cookies.set(RefreshTokenKey, token.refreshToken)
}
export function removeToken() {
return Cookies.remove(TokenKey)
Cookies.remove(AccessTokenKey)
Cookies.remove(RefreshTokenKey)
}

View File

@ -1,7 +1,7 @@
import axios from 'axios'
import { Notification, MessageBox, Message } from 'element-ui'
import store from '@/store'
import { getToken } from '@/utils/auth'
import { getAccessToken } from '@/utils/auth'
import errorCode from '@/utils/errorCode'
import Cookies from "js-cookie";
import {getPath, getTenantEnable} from "@/utils/ruoyi";
@ -21,8 +21,8 @@ const service = axios.create({
service.interceptors.request.use(config => {
// 是否需要设置 token
const isToken = (config.headers || {}).isToken === false
if (getToken() && !isToken) {
config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
if (getAccessToken() && !isToken) {
config.headers['Authorization'] = 'Bearer ' + getAccessToken() // 让每个请求携带自定义token 请根据实际情况自行修改
}
// 设置租户
if (getTenantEnable()) {
@ -133,7 +133,7 @@ service.interceptors.response.use(res => {
export function getBaseHeader() {
return {
'Authorization': "Bearer " + getToken(),
'Authorization': "Bearer " + getAccessToken(),
'tenant-id': Cookies.get('tenantId'),
}
}

View File

@ -77,7 +77,7 @@
<script>
import { deleteFile, getFilePage } from "@/api/infra/file";
import {getToken} from "@/utils/auth";
import {getAccessToken} from "@/utils/auth";
export default {
name: "File",
@ -108,7 +108,7 @@ export default {
title: "", // 弹出层标题
isUploading: false, // 是否禁用上传
url: process.env.VUE_APP_BASE_API + "/admin-api/infra/file/upload", // 请求地址
headers: { Authorization: "Bearer " + getToken() }, // 设置上传的请求头部
headers: { Authorization: "Bearer " + getAccessToken() }, // 设置上传的请求头部
data: {} // 上传的额外数据用于文件名
},
};

View File

@ -237,7 +237,7 @@ import {
resetUserPwd,
updateUser
} from "@/api/system/user";
import {getToken} from "@/utils/auth";
import {getAccessToken} from "@/utils/auth";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";