diff --git a/SAS/TMSS/frontend/tmss_webapp/src/authenticate/auth.js b/SAS/TMSS/frontend/tmss_webapp/src/authenticate/auth.js index 6d7706e030733c43244f69d33669d7a4f312afd7..d8f7191c119c7321bc8500980437ab7abe28d3bf 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/authenticate/auth.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/authenticate/auth.js @@ -14,16 +14,19 @@ const Auth = { user = JSON.parse(user); return Auth.getUserPermission(user); }else { - user = sessionStorage.getItem("user"); - console.log('Keycloak:',user); - if (user) { - user = JSON.parse(user); - const res = await AuthService.keycloakAuthenticate(); - if(res && res.is_authenticated){ - localStorage.setItem("loginType", 'Keycloak'); - return Auth.getUserPermission(user); - } - } + const res = await AuthService.keycloakAuthenticate(); + if(res && res.is_authenticated){ + localStorage.setItem("loginType", 'Keycloak'); + const cookies = document.cookie.split(';').reduce((prev, current) => { + const [name, value] = current.split(/\s?(.*?)=(.*)/).splice(1, 2); + prev[name] = value; + return prev; + }, {}); + const userDetails = {'name':res.username, 'token': cookies.csrftoken}; + axios.defaults.headers.common['Authorization'] = `Token ${cookies.csrftoken}`; + localStorage.setItem("user", JSON.stringify(userDetails)); + return Auth.getUserPermission(userDetails); + } } await PermissionStackUtil.getPermissions(false); return false; diff --git a/SAS/TMSS/frontend/tmss_webapp/src/authenticate/login.js b/SAS/TMSS/frontend/tmss_webapp/src/authenticate/login.js index 749f7b107b60d1fb36d9e565596902256fd00aec..485799259d3ef48af89c8a7fc462adbe0cfcc8fa 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/authenticate/login.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/authenticate/login.js @@ -79,15 +79,11 @@ export class Login extends Component { * @param {*} */ async doKeyCloakLogin(e) { - /** For testing */ - //sessionStorage.setItem("user", JSON.stringify({name:'test',"token":"eaa9a75f31339955cfaca1f7c94b01b1dd327d04"},)); - /** End */ - this.setState({redirect: UIConstants.KEYCLOAK_AUTH_URL}); } /** - * redirect to forget password page + * Redirect to forget password page */ async forgetPassword() { this.setState({redirect: UIConstants.FORGET_PASSWORD_URL}); diff --git a/SAS/TMSS/frontend/tmss_webapp/src/services/auth.service.js b/SAS/TMSS/frontend/tmss_webapp/src/services/auth.service.js index 1f8c1a34bf34995d643fe0b3ecab83460079b4a3..2a00a00c197e0318d89456669d1e86cd843fd878 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/services/auth.service.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/services/auth.service.js @@ -17,9 +17,7 @@ const AuthService = { keycloakAuthenticate: async() => { try { delete axios.defaults.headers.common['Authorization']; - const response = await axios.post(UIConstants.KEYCLOAK_AUTHENTICATE_URL); - console.log('keycloakAuthenticate =>',response) - //axios.defaults.headers.common['Authorization'] = `Token ${response.data.token}`; + const response = await axios.get(UIConstants.KEYCLOAK_AUTHENTICATE_URL); return response.data; } catch(error) { console.error('Error [keycloakAuthenticate]',error); @@ -34,7 +32,6 @@ const AuthService = { } else { console.log('deAuthenticate url:', UIConstants.KEYCLOAK_LOGOUT_URL); await axios.post(UIConstants.KEYCLOAK_LOGOUT_URL); - sessionStorage.removeItem("user"); } localStorage.removeItem("loginType"); } catch(error) { diff --git a/SAS/TMSS/frontend/tmss_webapp/src/utils/ui.constants.js b/SAS/TMSS/frontend/tmss_webapp/src/utils/ui.constants.js index 3d29b216cf4296ba4f8f07fe420050777fb57a80..7fb6bfcbc825d8f13a6e18c4b868602f254ad3ac 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/utils/ui.constants.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/utils/ui.constants.js @@ -1,5 +1,5 @@ const UIConstants = { - KEYCLOAK_AUTH_URL: '/oidc/authenticate', + KEYCLOAK_AUTH_URL: '/oidc/authenticate/', KEYCLOAK_LOGOUT_URL: '/oidc/logout/', KEYCLOAK_AUTHENTICATE_URL: '/api/authentication_state/', FORGET_PASSWORD_URL: '/api/forgetpass/',