Skip to content

Commit

Permalink
Merge pull request #276 from ajinkyapandetekdi/api-service-all-1.4.0
Browse files Browse the repository at this point in the history
Issueid #234841 feat:Monitor Session Expiry and Redirect to Login
  • Loading branch information
gouravmore authored Feb 13, 2025
2 parents 66a9561 + 0a81939 commit 78dcc83
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 17 deletions.
36 changes: 32 additions & 4 deletions src/App.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React, { useEffect, useRef } from "react";
import { ThemeProvider } from "@mui/material";
import { BrowserRouter as Router } from "react-router-dom";
import { useNavigate } from "react-router-dom";
import { StyledEngineProvider } from "@mui/material/styles";
import FingerprintJS from "@fingerprintjs/fingerprintjs";
import routes from "./routes";
Expand All @@ -9,8 +9,10 @@ import theme from "./assets/styles/theme";
import { initialize, end } from "./services/telementryService";
import { startEvent } from "./services/callTelemetryIntract";
import "@tekdi/all-telemetry-sdk/index.js";
import axios from "axios";

const App = () => {
const navigate = useNavigate();
const ranonce = useRef(false);
useEffect(() => {
const initService = async (visitorId) => {
Expand Down Expand Up @@ -79,12 +81,38 @@ const App = () => {
};
}, []);

useEffect(() => {
axios.interceptors.response.use(
(response) => response,
(error) => {
if (error.response && error.response.status === 401) {
if (error?.response?.data?.error === "Unauthorized") {
if (
localStorage.getItem("contentSessionId") &&
process.env.REACT_APP_IS_APP_IFRAME === "true"
) {
window.parent.postMessage(
{
message: "Unauthorized",
},
"*"
);
} else {
localStorage.clear();
sessionStorage.clear();
navigate("/login");
}
}
}
return Promise.reject(error);
}
);
}, []);

return (
<StyledEngineProvider injectFirst>
<ThemeProvider theme={theme}>
<Router>
<AppContent routes={routes} />
</Router>
<AppContent routes={routes} />
</ThemeProvider>
</StyledEngineProvider>
);
Expand Down
30 changes: 17 additions & 13 deletions src/index.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
import React from 'react';
import { render } from 'react-dom';
import { Provider } from 'react-redux';
import App from './App';
import './assets/styles/index.scss';
import store from './store/configureStore';
import './index.css';
import React from "react";
import { render } from "react-dom";
import { Provider } from "react-redux";
import App from "./App";
import "./assets/styles/index.scss";
import store from "./store/configureStore";
import "./index.css";
import { BrowserRouter as Router } from "react-router-dom";

render(
<React.StrictMode>
<Provider store={store}>
<App />
</Provider>
</React.StrictMode>,
document.getElementById('root'),
<React.StrictMode>
<Router>
<Provider store={store}>
<App />
</Provider>
</Router>
</React.StrictMode>,
document.getElementById("root")
);

0 comments on commit 78dcc83

Please sign in to comment.