banner
This commit is contained in:
+10
-9
@@ -8,6 +8,7 @@ import {
|
||||
removeRefreshToken,
|
||||
} from "./func";
|
||||
import { refreshToken } from "../app/auth/service/Service";
|
||||
import { ApiResponse, RefreshTokenResponse } from "../app/auth/types/Types";
|
||||
import { BASE_URL } from "./const";
|
||||
|
||||
declare global {
|
||||
@@ -47,32 +48,32 @@ axiosInstance.interceptors.response.use(
|
||||
if (!refreshTokenValue) {
|
||||
await removeRefreshToken();
|
||||
await removeToken();
|
||||
window.location.href = `/auth`;
|
||||
window.location.href = `/`;
|
||||
return;
|
||||
}
|
||||
const { data } = await refreshToken({
|
||||
const data: ApiResponse<RefreshTokenResponse> = await refreshToken({
|
||||
token: refreshTokenValue,
|
||||
});
|
||||
|
||||
if (data?.accessToken?.token) {
|
||||
await setToken(data?.accessToken?.token);
|
||||
if (data.refreshToken?.token) {
|
||||
await setRefreshToken(data.refreshToken?.token);
|
||||
if (data?.results?.data?.accessToken?.token) {
|
||||
await setToken(data?.results?.data?.accessToken?.token);
|
||||
if (data?.results?.data?.refreshToken?.token) {
|
||||
await setRefreshToken(data?.results?.data?.refreshToken?.token);
|
||||
}
|
||||
|
||||
originalRequest.headers.Authorization = `Bearer ${data.accessToken.token}`;
|
||||
originalRequest.headers.Authorization = `Bearer ${data.results.data.accessToken.token}`;
|
||||
return axiosInstance(originalRequest);
|
||||
} else {
|
||||
await removeRefreshToken();
|
||||
await removeToken();
|
||||
window.location.href = `/auth`;
|
||||
window.location.href = `/`;
|
||||
return;
|
||||
}
|
||||
} catch (refreshError) {
|
||||
console.error("Token refresh failed:", refreshError);
|
||||
await removeToken();
|
||||
await removeRefreshToken();
|
||||
window.location.href = `/auth`;
|
||||
window.location.href = `/`;
|
||||
return Promise.reject(refreshError);
|
||||
} finally {
|
||||
window.isRefreshingToken = false;
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
export const TOKEN_NAME = "sh_token";
|
||||
export const REFRESH_TOKEN_NAME = "sh_refresh_token";
|
||||
export const BASE_URL = "https://shop-api.dev.danakcorp.com";
|
||||
// export const BASE_URL = "https://api-sondos.run.danakcorp.com";
|
||||
// export const BASE_URL = "https://api.shinan.ir";
|
||||
|
||||
export const PRIMARY_COLOR = "#015699";
|
||||
|
||||
+1
-1
@@ -38,7 +38,7 @@ export const getToken = async () => {
|
||||
return localStorage.getItem(TOKEN_NAME);
|
||||
};
|
||||
|
||||
export const getRefreshToken = () => {
|
||||
export const getRefreshToken = async () => {
|
||||
if (typeof window === "undefined") {
|
||||
return null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user