import React from 'react';
|
|
import ReactDOM from 'react-dom';
|
|
import './index.css';
|
|
import App from './App';
|
|
import reportWebVitals from './reportWebVitals';
|
|
|
|
import Keycloak from "keycloak-js";
|
|
|
|
const initOptions = {
|
|
url: 'http://localhost:8080/auth', realm: 'demorealm', clientId: 'react-app', onLoad: 'login-required'
|
|
}
|
|
|
|
const keycloak = Keycloak(initOptions);
|
|
|
|
keycloak.init({ onLoad: initOptions.onLoad }).then((auth) => {
|
|
if (!auth) {
|
|
window.location.reload();
|
|
} else {
|
|
ReactDOM.render(
|
|
<React.StrictMode>
|
|
<App keycloak={keycloak}/>
|
|
</React.StrictMode>,
|
|
document.getElementById('root')
|
|
);
|
|
|
|
// If you want to start measuring performance in your app, pass a function
|
|
// to log results (for example: reportWebVitals(console.log))
|
|
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
|
|
reportWebVitals();
|
|
}
|
|
|
|
|
|
//Token Refresh
|
|
setInterval(() => {
|
|
keycloak.updateToken(70).then((refreshed) => {
|
|
if (refreshed) {
|
|
console.info('Token refreshed' + refreshed);
|
|
} else {
|
|
console.warn('Token not refreshed, valid for '
|
|
+ Math.round(keycloak.tokenParsed.exp + keycloak.timeSkew - new Date().getTime() / 1000) + ' seconds');
|
|
}
|
|
}).catch(() => {
|
|
console.error('Failed to refresh token');
|
|
});
|
|
}, 1000)
|
|
|
|
}).catch(() => {
|
|
console.error("Authenticated Failed");
|
|
});
|