ADD:api-refresh
This commit is contained in:
parent
3c86933dee
commit
c557c383e3
6 changed files with 28 additions and 9 deletions
|
|
@ -136,7 +136,25 @@ export const useAuth = () => {
|
|||
|
||||
if (error.value) {
|
||||
if (error.value.statusCode === 401) {
|
||||
logout()
|
||||
// Try to refresh token
|
||||
const refreshed = await refreshAccessToken()
|
||||
if (refreshed) {
|
||||
// Retry fetch with new token
|
||||
const { data: retryData, error: retryError } = await useFetch<User>(`${API_BASE_URL}/user/me`, {
|
||||
headers: {
|
||||
Authorization: `Bearer ${token.value}`
|
||||
}
|
||||
})
|
||||
|
||||
if (retryData.value) {
|
||||
user.value = retryData.value
|
||||
return
|
||||
}
|
||||
|
||||
if (retryError.value) throw retryError.value
|
||||
} else {
|
||||
logout()
|
||||
}
|
||||
}
|
||||
throw error.value
|
||||
}
|
||||
|
|
@ -239,6 +257,7 @@ export const useAuth = () => {
|
|||
fetchUserProfile,
|
||||
requestPasswordReset,
|
||||
confirmResetPassword,
|
||||
refreshAccessToken,
|
||||
logout
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue