feat(auth): add abort controller for refresh interruption
Signed-off-by: Noa Virellia <noa@requiem.garden>
This commit is contained in:
@@ -35,16 +35,20 @@ export function clearTokens() {
|
||||
removeRefreshToken();
|
||||
}
|
||||
|
||||
const refreshTokenAbortController = new AbortController();
|
||||
|
||||
export async function doRefreshToken(refreshToken: string): Promise<ServiceAuthTokenResponse | undefined> {
|
||||
const { data } = await postAuthRefresh({
|
||||
body: {
|
||||
refresh_token: refreshToken,
|
||||
},
|
||||
signal: refreshTokenAbortController.signal,
|
||||
});
|
||||
return data?.data;
|
||||
}
|
||||
|
||||
export function logout(message: string = '已登出') {
|
||||
refreshTokenAbortController.abort();
|
||||
clearTokens();
|
||||
void router.navigate({ to: '/authorize' }).then(() => {
|
||||
toast.info(message);
|
||||
|
||||
Reference in New Issue
Block a user