Skip to content

Commit

Permalink
Merge pull request #46 from vidyaaKhandekar/reburring-issue
Browse files Browse the repository at this point in the history
Task #235020-[FE]Logout issue due to refresh token
  • Loading branch information
gouravmore authored Feb 12, 2025
2 parents 1eac145 + c64a8bc commit fcd2e0f
Showing 1 changed file with 42 additions and 18 deletions.
60 changes: 42 additions & 18 deletions src/services/Interceptor.ts
Original file line number Diff line number Diff line change
@@ -1,24 +1,44 @@
import axios from "axios";
import { refresh } from "./LoginService";
import keycloak from "../utils/keycloak";

const instance = axios.create();

const refreshToken = async () => {
const refresh_token = localStorage.getItem("refreshToken");
if (refresh_token !== "" && refresh_token !== null) {
try {
const response = await refresh({ refresh_token });
if (response) {
const accessToken = response?.result?.access_token;
const newRefreshToken = response?.result?.refresh_token;
localStorage.setItem("token", accessToken);
localStorage.setItem("refreshToken", newRefreshToken);
return accessToken;
// const refresh_token = localStorage.getItem("refreshToken");
// if (refresh_token !== "" && refresh_token !== null) {
// try {
// const response = await refresh({ refresh_token });
// if (response) {
// const accessToken = response?.result?.access_token;
// const newRefreshToken = response?.result?.refresh_token;
// localStorage.setItem("token", accessToken);
// localStorage.setItem("refreshToken", newRefreshToken);
// return accessToken;
// }
// } catch (error) {
// console.error("Token refresh failed:", error);
// throw error;
// }
// }
try {
const refreshed = await keycloak?.updateToken(70);

if (refreshed) {
const newToken: string | undefined = keycloak?.token || undefined;
if (newToken) {
localStorage.setItem("token", newToken);
}

if (keycloak?.refreshToken) {
localStorage.setItem("refreshToken", keycloak.refreshToken);
}
} catch (error) {
console.error("Token refresh failed:", error);
throw error;
return newToken;
}
return null;
} catch (error) {
console.error("Token refresh failed:", error);
throw error;
}
};

Expand All @@ -28,7 +48,7 @@ if (typeof window !== "undefined" && window.localStorage) {
}

instance.interceptors.request.use(
async(config) => {
async (config) => {
if (typeof window !== "undefined" && window.localStorage) {
const token = localStorage.getItem("token");
if (token) {
Expand All @@ -38,13 +58,14 @@ instance.interceptors.request.use(
// config.headers.tenantid = '4783a636-1191-487a-8b09-55eca51b5036';
// config.headers.tenantid = 'fbe108db-e236-48a7-8230-80d34c370800';
// config.headers.tenantid = tenantId;
config.headers.tenantid = cachedTenantId || localStorage.getItem("tenantId");
config.headers.tenantid =
cachedTenantId || localStorage.getItem("tenantId");

return config;
},
(error) => {
return Promise.reject(error);
},
}
);

instance.interceptors.response.use(
Expand All @@ -54,7 +75,10 @@ instance.interceptors.response.use(
async (error) => {
const originalRequest = error.config;

if (error?.response?.data?.responseCode === 401 && !originalRequest._retry) {
if (
error?.response?.data?.responseCode === 401 &&
!originalRequest._retry
) {
if (error?.response?.request?.responseURL.includes("/auth/refresh")) {
// alert("logout")
window.location.href = "/logout";
Expand All @@ -75,7 +99,7 @@ instance.interceptors.response.use(
}
}
return Promise.reject(error);
},
}
);

export default instance;

0 comments on commit fcd2e0f

Please sign in to comment.