Skip to content

Commit 26aca96

Browse files
fix: Token conflict issue between two different applications embedded in the same system(#2753)
1 parent 0e98c77 commit 26aca96

File tree

3 files changed

+11
-9
lines changed

3 files changed

+11
-9
lines changed

ui/src/stores/modules/application.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,8 @@ const useApplicationStore = defineStore({
9797
applicationApi
9898
.postAppAuthentication(token, loading, authentication_value)
9999
.then((res) => {
100-
localStorage.setItem('accessToken', res.data)
101-
sessionStorage.setItem('accessToken', res.data)
100+
localStorage.setItem(`${token}accessToken`, res.data)
101+
sessionStorage.setItem(`${token}accessToken`, res.data)
102102
resolve(res)
103103
})
104104
.catch((error) => {

ui/src/stores/modules/user.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export interface userStateTypes {
1313
userInfo: User | null
1414
token: any
1515
version?: string
16-
accessToken?: string
16+
userAccessToken?: string
1717
XPACK_LICENSE_IS_VALID: false
1818
isXPack: false
1919
themeInfo: any
@@ -26,6 +26,7 @@ const useUserStore = defineStore({
2626
userInfo: null,
2727
token: '',
2828
version: '',
29+
userAccessToken: '',
2930
XPACK_LICENSE_IS_VALID: false,
3031
isXPack: false,
3132
themeInfo: null
@@ -60,11 +61,11 @@ const useUserStore = defineStore({
6061
return this.userType === 1 ? localStorage.getItem('token') : this.getAccessToken()
6162
},
6263
getAccessToken() {
63-
const accessToken = sessionStorage.getItem('accessToken')
64-
if (accessToken) {
65-
return accessToken
64+
const token = sessionStorage.getItem(`${this.userAccessToken}accessToken`)
65+
if (token) {
66+
return token
6667
}
67-
return localStorage.getItem('accessToken')
68+
return localStorage.getItem(`${this.userAccessToken}accessToken`)
6869
},
6970

7071
getPermissions() {
@@ -83,8 +84,9 @@ const useUserStore = defineStore({
8384
return ''
8485
}
8586
},
86-
changeUserType(num: number) {
87+
changeUserType(num: number, token?: string) {
8788
this.userType = num
89+
this.userAccessToken = token
8890
},
8991

9092
async asyncGetProfile() {

ui/src/views/chat/index.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ function getAccessToken(token: string) {
9292
})
9393
}
9494
onBeforeMount(() => {
95-
user.changeUserType(2)
95+
user.changeUserType(2, accessToken)
9696
Promise.all([user.asyncGetProfile(), getAccessToken(accessToken)])
9797
.catch(() => {
9898
applicationAvailable.value = false

0 commit comments

Comments
 (0)