修复多租户refreshToken问题

pull/59/head
smallchill 7 years ago
parent 89a0f3592c
commit 3bd6c1ea75
  1. 6
      src/api/user.js
  2. 8
      src/store/modules/user.js

@ -17,10 +17,14 @@ export const loginByUsername = (tenantId, username, password, type) => request({
} }
}) })
export const refreshToken = (refresh_token) => request({ export const refreshToken = (refresh_token, tenantId) => request({
url: '/api/blade-auth/oauth/token', url: '/api/blade-auth/oauth/token',
method: 'post', method: 'post',
headers: {
'Tenant-Id': tenantId
},
params: { params: {
tenantId,
refresh_token, refresh_token,
grant_type: "refresh_token", grant_type: "refresh_token",
scope: "all", scope: "all",

@ -33,6 +33,7 @@ function addPath(ele, first) {
const user = { const user = {
state: { state: {
tenantId: getStore({name: 'tenantId'}) || '',
userInfo: getStore({name: 'userInfo'}) || [], userInfo: getStore({name: 'userInfo'}) || [],
permission: getStore({name: 'permission'}) || {}, permission: getStore({name: 'permission'}) || {},
roles: [], roles: [],
@ -55,6 +56,7 @@ const user = {
} else { } else {
commit('SET_TOKEN', data.access_token); commit('SET_TOKEN', data.access_token);
commit('SET_REFRESH_TOKEN', data.refresh_token); commit('SET_REFRESH_TOKEN', data.refresh_token);
commit('SET_TENANT_ID', data.tenant_id);
commit('SET_USER_INFO', data); commit('SET_USER_INFO', data);
commit('DEL_ALL_TAG'); commit('DEL_ALL_TAG');
commit('CLEAR_LOCK'); commit('CLEAR_LOCK');
@ -101,7 +103,7 @@ const user = {
refreshToken({state, commit}) { refreshToken({state, commit}) {
console.log('handle refresh token') console.log('handle refresh token')
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
refreshToken(state.refreshToken).then(res => { refreshToken(state.refreshToken, state.tenantId).then(res => {
const data = res.data; const data = res.data;
commit('SET_TOKEN', data.access_token); commit('SET_TOKEN', data.access_token);
commit('SET_REFRESH_TOKEN', data.refresh_token); commit('SET_REFRESH_TOKEN', data.refresh_token);
@ -177,6 +179,10 @@ const user = {
state.refreshToken = refreshToken; state.refreshToken = refreshToken;
setStore({name: 'refreshToken', content: state.refreshToken, type: 'session'}) setStore({name: 'refreshToken', content: state.refreshToken, type: 'session'})
}, },
SET_TENANT_ID: (state, tenantId) => {
state.tenantId = tenantId;
setStore({name: 'tenantId', content: state.tenantId, type: 'session'})
},
SET_USER_INFO: (state, userInfo) => { SET_USER_INFO: (state, userInfo) => {
state.userInfo = userInfo; state.userInfo = userInfo;
setStore({name: 'userInfo', content: state.userInfo}) setStore({name: 'userInfo', content: state.userInfo})

Loading…
Cancel
Save