Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
order-management-react
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Ascend
order-management-react
Commits
cc9558da
Commit
cc9558da
authored
May 06, 2021
by
Kevin Kaminski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
🚧
quick commit for pull
parent
2676d821
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
80 additions
and
94 deletions
+80
-94
Login.tsx
src/components/Login.tsx
+34
-0
Logout.tsx
src/components/Logout.tsx
+23
-0
index.ts
src/components/index.ts
+3
-1
AccountPage.tsx
src/pages/AccountPage.tsx
+3
-0
AuthPage.tsx
src/pages/AuthPage.tsx
+17
-93
No files found.
src/components/Login.tsx
0 → 100644
View file @
cc9558da
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
src/components/Logout.tsx
0 → 100644
View file @
cc9558da
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
src/components/index.ts
View file @
cc9558da
...
...
@@ -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
src/pages/AccountPage.tsx
View file @
cc9558da
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
/>
...
...
src/pages/AuthPage.tsx
View file @
cc9558da
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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment