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'
export {default as Nav} from './Nav'
export {default as OrderDetails} from './OrderDetails'
export {default as SignUpForm} from './SignUpForm'
export {default as OrderShowDetails} from './OrderShowDetails'
\ No newline at end of file
export {default as OrderShowDetails} from './OrderShowDetails'
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 {useGoogleLogin} from 'react-google-login'
import {AccountForm} from 'components'
const AccountPage = () => {
let clientId = "";
const userInfo = useGoogleLogin({clientId})
return (
<div>
<AccountForm />
......
import React from 'react'
import { LoginForm } from 'components';
import { GoogleLogin, GoogleLogout } from 'react-google-login';
import React, { useState, useEffect } from 'react'
import { Login, Logout } from 'components';
const AuthPage = () => {
const storage = window.localStorage;
const responseGoogle = (response: any) => {
console.log(response)
// console.log(response.profileObj);
// console.log(response.tokenObj);
if ("error" in response) {
storage.setItem("loggedIn", "false")
} else {
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 [loggedIn, setLoggedIn] = useState<boolean>(false);
useEffect(() => {
switch (storage.getItem("loggedIn")) {
case "true":
setLoggedIn(true)
break;
default:
setLoggedIn(false)
break;
}
}
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();
}
}, [loggedIn, storage])
return (
<div>
<GoogleLogin
clientId="925243198137-hhe2e3ejlethf321hh7tbm7ontc19cpj.apps.googleusercontent.com"
buttonText="Login"
onSuccess={responseGoogle}
onFailure={responseGoogle}
cookiePolicy={'single_host_origin'}
/>
{/* <GoogleLogout
clientId="658977310896-knrl3gka66fldh83dao2rhgbblmd4un9.apps.googleusercontent.com"
buttonText="Logout"
onLogoutSuccess={logout}
onFailure={logout}
/> */}
<Logout/>
<br/>
<Login/>
</div>
)
}
export default AuthPage
/*
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"
}
*/
export default AuthPage
\ No newline at end of file
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