diff --git a/src/App.js b/src/App.js index 0eda19cd88913bedb69191abb3512b463ce6e541..f66eb6921cc8a84e204c490cd681a7ed9d77870e 100644 --- a/src/App.js +++ b/src/App.js @@ -24,7 +24,7 @@ import EcFooter from './Components/EcFooter'; import GNUAGPLfooter from './Components/AGPLFooter'; import UserPage from './Pages/UserPage'; import UserTerms from './Pages/UserTerms'; - +import {useLocation} from 'react-router-dom' import Teste from './Pages/Teste'; import ResourcePage from './Pages/ResourcePage'; @@ -32,7 +32,6 @@ import {BrowserRouter, Switch, Route} from 'react-router-dom'; import { Store } from './Store' import TermsPage from './Pages/TermsPage.js' import PublicationPermissionsPage from './Pages/PublicationPermissionsPage.js' -import LoginCallbackHandler from './Components/LoginCallbackHandler.js' export default function App(){ // eslint-disable-next-line @@ -65,11 +64,11 @@ export default function App(){ },[window.innerWidth,window.innerHeight]) return( - <BrowserRouter> + <BrowserRouter basename="/react"> <Header /> <div style={{backgroundImage: "linear-gradient(to right,#ff7f00,#e81f4f,#673ab7,#00bcd4)", height:"5px"}}></div> <Switch> - <Route path="/home" exact={true} component={Home}/> + <Route path="/" exact={true} component={Home}/> <Route path="/busca" component={Search} /> <Route path="/perfil-atualizacoes" component={UserPage} /> <Route path="/recurso" component={ResourcePage}/> @@ -77,7 +76,6 @@ export default function App(){ <Route path="/termos-publicar-recurso" component={TermsPage}/> <Route path="/permission" component={PublicationPermissionsPage}/> {/*<Route path="termos-de-uso#publicacoes-de-usuario" component={}*/} - <Route path="/omniauth/google_oauth2/callback" component={LoginCallbackHandler}/> <Route path="/termos" component={UserTerms}/> <Route path="/teste" component={Teste}/> diff --git a/src/Components/Header.js b/src/Components/Header.js index 623b91e17f4f2d69f68badcef2e427b4aaeec4d8..1342c44894d6bff7d5f4d5c14701ff5548ef2404 100644 --- a/src/Components/Header.js +++ b/src/Components/Header.js @@ -16,7 +16,9 @@ GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with Plataforma Integrada MEC. If not, see <http://www.gnu.org/licenses/>.*/ -import React, { useContext, useState } from 'react' +import React, { useContext, useState, useEffect } from 'react' +import axios from 'axios' +import {apiUrl} from '../env' import AcessibilityBar from './AcessibilityBar' import MenuBar from './MenuBar' @@ -25,16 +27,52 @@ import SignUpModal from './SignUpModal' import LoginModal from './LoginModal' import { Store } from '../Store'; import ColaborarModal from './ColaborarModal.js' - +import {useLocation} from 'react-router-dom' //const StyledButton = styled(Button)` // background : #ffa54c !important; // boxShadow :none; //` +// export default function Header(props){ const { state, dispatch } = useContext(Store) const [signUpOpen, setSignUp] = useState(false) const [loginOpen, setLogin] = useState(false) + let loc = useLocation() + + useEffect(() => { + console.log(loc) + let query = new URLSearchParams(loc.search) + + //POR PARAMETRO + console.log(query.getAll("auth_token")) + if(query.get("auth_token") != undefined) { + let config = { + headers : { + "access-token" : query.get("auth_token"), + "client" : query.get("client_id"), + "uid" : query.get("uid"), + "expiry" : query.get("expiry"), + "token-type" : 'Bearer' + } + } + axios.get(`${apiUrl}/auth/validate_token/`, config).then( + (res) => {console.log(res)}, (err) => {console.log(err)} + ) + } + + + //POR URL + {/* + let urlParams = [ + `access_token=${query.get("auth_token")}`, + `client=${query.get("client_id")}`, + `uid=${query.get("uid")}`, + ].join('&') + axios.get(`${apiUrl}/auth/validate_token?${urlParams}`).then( + (res) => {console.log(res)}, (err) => {console.log(err)} + )*/} + }, [loc]) const handleSignUp = () => { setSignUp(!signUpOpen) diff --git a/src/Components/LoginContainer.js b/src/Components/LoginContainer.js index 796fb06d5ac8340ca6c79d772a1c13b22c5a180e..c16d127a608cd5e83046f101644cfc105b30aa90 100644 --- a/src/Components/LoginContainer.js +++ b/src/Components/LoginContainer.js @@ -26,25 +26,11 @@ import LabeledCheckbox from './Checkbox.js' import FormInput from "./FormInput.js" import axios from 'axios' import {apiUrl} from '../env'; -//arrumar isso -const responseGoogle = (response) => { - console.log(response); - let currUrl = window.location.href - console.log(currUrl) - axios.post((`${apiUrl}/auth/google_oauth2?auth_origin_url=` + currUrl + '&omniauth_window_type=sameWindow'), response).then( - (response) => {console.log(response.data)}, - (error) => {console.log(error)} - ) -} -async function handleGoogle () { - try { - const response = await axios.get('https://api.portalmec.c3sl.ufpr.br/v1/omniauth/google_oauth2?auth_origin_url=https://api.portalmectest.c3sl.ufpr.br/react/&omniauth_window_type=sameWindow&resource_class=User'); - console.log(response); - const url = await response.text; - window.location.assign(url); - } catch(e) { - console.log(e) - } + +async function handleGoogleAttempt () { + console.log("handleGoogleAttempt") + let request_url = 'https://api.portalmec.c3sl.ufpr.br/v1/omniauth/google_oauth2?auth_origin_url=' + window.location.href + '&omniauth_window_type=sameWindow&resource_class=User' + window.location.replace(request_url) } class LoginContainer extends Component { @@ -99,15 +85,7 @@ class LoginContainer extends Component { <div style={{paddingTop: "20px"}}> <div style={{marginTop:"0"}}> - {/*<StyledGoogleLoginButton - clientId="288460085642-k4veg4fo8kddvjer8b055n9da5qtgha7.apps.googleusercontent.com" - onSuccess={responseGoogle} - onFailure={responseGoogle} - cookiePolicy={'single_host_origin'} - > - <span style={{textTransform:"none", fontSize:"13px"}}>Usando o Google</span> - </StyledGoogleLoginButton>*/} - <Button onClick={handleGoogle}>login com google</Button> + <Button onClick={handleGoogleAttempt}>login com google</Button> </div> </div>