Commit cc9558da authored by Kevin Kaminski's avatar Kevin Kaminski

🚧 quick commit for pull

parent 2676d821
import React from 'react'
import { GoogleLogin, useGoogleLogin } from 'react-google-login';
const Login = () => {
const storage = window.localStorage;
const loginSuccess = (response: any) => {
console.log(response);
const {email, familyName:lastName, givenName:firstName} = response.profileObj;
storage.setItem("loggedIn", "true");
storage.setItem("userFirstName", firstName);
storage.setItem("userLastName", lastName);
storage.setItem("userEmail", email);
storage.setItem("tokenId", response.tokenId);
console.log("Log in succesful", storage);
}
const loginFailure = (response: any) => {
storage.setItem("loggedIn", "false")
console.log("Log in failed", storage);
}
return (
<GoogleLogin
clientId="925243198137-hhe2e3ejlethf321hh7tbm7ontc19cpj.apps.googleusercontent.com"
buttonText="Login"
onSuccess={loginSuccess}
onFailure={loginFailure}
cookiePolicy={'single_host_origin'}
/>
)
}
export default Login
import React from 'react'
import { GoogleLogout } from 'react-google-login';
const Logout = () => {
const storage = window.localStorage;
const logout = () => {
storage.clear();
storage.setItem("loggedIn", "false")
console.log("Log out complete", storage)
}
return (
<GoogleLogout
clientId="925243198137-hhe2e3ejlethf321hh7tbm7ontc19cpj.apps.googleusercontent.com"
buttonText="Logout"
onFailure={logout}
onLogoutSuccess={logout}
/>
)
}
export default Logout
...@@ -3,4 +3,6 @@ export {default as LoginForm} from './LoginForm' ...@@ -3,4 +3,6 @@ export {default as LoginForm} from './LoginForm'
export {default as Nav} from './Nav' export {default as Nav} from './Nav'
export {default as OrderDetails} from './OrderDetails' export {default as OrderDetails} from './OrderDetails'
export {default as SignUpForm} from './SignUpForm' export {default as SignUpForm} from './SignUpForm'
export {default as OrderShowDetails} from './OrderShowDetails' export {default as OrderShowDetails} from './OrderShowDetails'
\ No newline at end of file export {default as Login} from './Login'
export {default as Logout} from './Logout'
\ No newline at end of file
import React, { useState, useEffect } from 'react' import React, { useState, useEffect } from 'react'
import {useGoogleLogin} from 'react-google-login'
import {AccountForm} from 'components' import {AccountForm} from 'components'
const AccountPage = () => { const AccountPage = () => {
let clientId = "";
const userInfo = useGoogleLogin({clientId})
return ( return (
<div> <div>
<AccountForm /> <AccountForm />
......
import React from 'react' import React, { useState, useEffect } from 'react'
import { LoginForm } from 'components'; import { Login, Logout } from 'components';
import { GoogleLogin, GoogleLogout } from 'react-google-login';
const AuthPage = () => { const AuthPage = () => {
const storage = window.localStorage; const storage = window.localStorage;
const responseGoogle = (response: any) => { const [loggedIn, setLoggedIn] = useState<boolean>(false);
console.log(response)
// console.log(response.profileObj); useEffect(() => {
// console.log(response.tokenObj); switch (storage.getItem("loggedIn")) {
if ("error" in response) { case "true":
storage.setItem("loggedIn", "false") setLoggedIn(true)
} else { break;
const {email, familyName:lastName, givenName:firstName, googleId, imageUrl} = response.profileObj; default:
const googleAuthInfo = { setLoggedIn(false)
email, break;
firstName,
lastName,
googleId,
imageUrl
}
storage.setItem("loggedIn", "true");
storage.setItem("googleAuthInfo", JSON.stringify(googleAuthInfo));
return (googleAuthInfo);
} }
} }, [loggedIn, storage])
const loginSuccess = (response: any) => {
console.log(response)
const {email, familyName:lastName, givenName:firstName, googleId, imageUrl} = response.profileObj;
const googleAuthInfo = {
email,
firstName,
lastName,
googleId,
imageUrl
}
storage.setItem("loggedIn", "true");
storage.setItem("googleAuthInfo", JSON.stringify(googleAuthInfo));
return (googleAuthInfo);
}
const loginFailure = (response: any) => {
console.log(response);
storage.setItem("loggedIn", "false")
}
const logout = (response: any) => {
console.log(response)
storage.clear();
}
return ( return (
<div> <div>
<GoogleLogin <Logout/>
clientId="925243198137-hhe2e3ejlethf321hh7tbm7ontc19cpj.apps.googleusercontent.com" <br/>
buttonText="Login" <Login/>
onSuccess={responseGoogle}
onFailure={responseGoogle}
cookiePolicy={'single_host_origin'}
/>
{/* <GoogleLogout
clientId="658977310896-knrl3gka66fldh83dao2rhgbblmd4un9.apps.googleusercontent.com"
buttonText="Logout"
onLogoutSuccess={logout}
onFailure={logout}
/> */}
</div> </div>
) )
} }
export default AuthPage export default AuthPage
\ No newline at end of file
/*
Google Successful OAuth response (The parts we want to keep, anyway):
response =>
response.profileObj = {
email: "kkaminski@nisum.com",
familyName: "Kaminski",
givenName: "Kevin",
googleId: "104324023295177405903",
imageUrl: "https://lh3.googleusercontent.com/a/AATXAJymxbs98AGxOFCVUCpV9pEwpxx1JWR6XZqKXe8b=s96-c",
name: "Kevin Kaminski"
}
response.tokenObj = {
access_token: "ya2...LCe",
expires_at: 1620238821414,
expires_in: 3599,
first_issued_at: 1620235222414,
id_token: "eyJhbGciOiJSUzI1NiIs...yXc6HOG97FF6eF1AU0Oh8w",
idpId: "google",
login_hint: "AJDLj6J...RcffTyHTSIHVKSQ",
scope: "email profile https://www.googleapis.com/auth/userinfo.email openid https://www.googleapis.com/auth/userinfo.profile",
session_state: {
extraQueryParams: {
authuser: 2
}
},
token_type: "bearer"
}
*/
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment