diff --git a/src/Components/Header.js b/src/Components/Header.js index a0eb0c727f385d59854a25bc5aac5d91b41a1f11..ec38d0f3b79fc103d62adf938a9f6ba929109d68 100644 --- a/src/Components/Header.js +++ b/src/Components/Header.js @@ -25,7 +25,7 @@ import { Store } from '../Store'; import ColaborarModal from './ColaborarModal.js' import Snackbar from '@material-ui/core/Snackbar'; import MuiAlert from '@material-ui/lab/Alert'; -import { useLocation } from 'react-router-dom' +import { useLocation, useHistory } from 'react-router-dom' import MenuBarMobile from './MenuBarMobile.js' import {validateGoogleLoginToken} from './HelperFunctions/getAxiosConfig' @@ -63,7 +63,10 @@ export default function Header(props){ }, [])*/ let loc = useLocation() + let history = useHistory() useEffect(() => { + const url = `/auth/validate_token/` + let query = new URLSearchParams(loc.search) if(query.get("auth_token")) { @@ -76,8 +79,8 @@ export default function Header(props){ "token-type" : 'Bearer' } } - validateGoogleLoginToken(config, handleSuccessValidateToken, (error) => {console.log(error)}) - redirect() + validateGoogleLoginToken(url, config, handleSuccessValidateToken, (error) => {console.log(error)}) + history.push("/") } }, [loc]) @@ -90,10 +93,6 @@ export default function Header(props){ } }, [state.currentUser.askTeacherQuestion]) - const redirect = () => { - props.history.push('/') - } - const toggleSnackbar = (event, reason) => { if (reason === 'clickaway') { return; diff --git a/src/Components/HelperFunctions/getAxiosConfig.js b/src/Components/HelperFunctions/getAxiosConfig.js index ca41ceb8f26f01e65b43926423ba51eb770b387a..ef53a62b2a8bcb557e0712791af75689f023d096 100644 --- a/src/Components/HelperFunctions/getAxiosConfig.js +++ b/src/Components/HelperFunctions/getAxiosConfig.js @@ -196,20 +196,33 @@ export const fetchAllRequest = (urls, onSuccess, onError) => { }) } -export const validateGoogleLoginToken = (config, onSuccess, onError) => { - axios.get( (`${apiUrl}/auth/validate_token/`), config ).then( - (response) => { - - if ( response.headers['access-token'] ) { - updateHeaders(response.headers) +export const validateGoogleLoginToken = (url, config, onSuccess, onError) => { + fetch((`${apiUrl}${url}`), { + method : 'POST', + headers : JSON.stringify(config) + }) + .then(response => { + const auth_headers = { + client: response.headers.get('client'), + "access-token": response.headers.get('access-token'), + uid: response.headers.get('uid'), + expiry: response.headers.get('expiry'), + "token-type": "Bearer" } - onSuccess(response.data) - }, - (error) => { + sessionStorage.setItem('@portalmec/auth_headers', JSON.stringify(auth_headers)) + + return response.json().catch(err => { + return {}; + }) + }) + .then(data => { + console.log(data) + onSuccess(data) + }) + .catch(error => { onError(error) - } - ) + }) } export const authentication = (url, payload, onSuccess, onError) => {