From 74f1f092eca6a772ba9fe2ecc570b307c8102113 Mon Sep 17 00:00:00 2001 From: James Ketrenos Date: Wed, 6 Apr 2022 17:33:18 -0700 Subject: [PATCH] Authentication working Signed-off-by: James Ketrenos --- .gitignore | 1 + client/favicon.xcf | Bin 0 -> 6540 bytes client/public/assets/favicon-128.png | Bin 0 -> 16482 bytes client/public/assets/favicon-152.png | Bin 0 -> 17810 bytes client/public/assets/favicon-167.png | Bin 0 -> 18598 bytes client/public/assets/favicon-180.png | Bin 0 -> 19430 bytes client/public/assets/favicon-192.png | Bin 0 -> 20197 bytes client/public/assets/favicon-256.png | Bin 0 -> 21141 bytes client/public/assets/favicon-32.png | Bin 0 -> 11490 bytes client/src/App.js | 26 ++--- client/src/Dashboard.css | 4 + client/src/Dashboard.js | 78 +++++++++++++ client/src/GoodTimesBar.js | 74 +++++++++---- client/src/Group.css | 3 + client/src/Group.js | 49 +++++++-- client/src/SignIn.js | 6 +- client/src/SignUp.js | 50 ++++++++- client/src/VerifyEmail.js | 73 +++++++++++++ db/groups.db | Bin 12288 -> 16384 bytes db/users.db | Bin 20480 -> 20480 bytes server/app.js | 4 +- server/db/groups.js | 25 ++++- server/db/users.js | 8 +- server/lib/mail.js | 115 ++++++++++++++++---- server/routes/groups.js | 14 ++- server/routes/users.js | 157 ++++++++++++++++++++------- 26 files changed, 557 insertions(+), 130 deletions(-) create mode 100644 client/favicon.xcf create mode 100644 client/public/assets/favicon-128.png create mode 100644 client/public/assets/favicon-152.png create mode 100644 client/public/assets/favicon-167.png create mode 100644 client/public/assets/favicon-180.png create mode 100644 client/public/assets/favicon-192.png create mode 100644 client/public/assets/favicon-256.png create mode 100644 client/public/assets/favicon-32.png create mode 100644 client/src/Dashboard.css create mode 100644 client/src/Dashboard.js create mode 100644 client/src/Group.css create mode 100644 client/src/VerifyEmail.js diff --git a/.gitignore b/.gitignore index 1bd7226..2cc42ec 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ +db/*.db node_modules *.swp diff --git a/client/favicon.xcf b/client/favicon.xcf new file mode 100644 index 0000000000000000000000000000000000000000..d4b65f741c12a19ebed076bdcf4539e9cf76f4f3 GIT binary patch literal 6540 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 V`BRO1r~v{2s*0Kq%jK;?|34PT#Lxf$ literal 0 HcmV?d00001 diff --git a/client/public/assets/favicon-152.png b/client/public/assets/favicon-152.png new file mode 100644 index 0000000000000000000000000000000000000000..0e06562b0f337139c023f19c9f1bc00aae6cbba2 GIT binary patch literal 17810 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 H)6oA1B9x4t literal 0 HcmV?d00001 diff --git a/client/public/assets/favicon-167.png b/client/public/assets/favicon-167.png new file mode 100644 index 0000000000000000000000000000000000000000..f38da3d1d9c720128694baa57a91083451d6b2b2 GIT binary patch literal 18598 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 V{yckJe1VD>JYD@<);T3K0RWQrfyDp- literal 0 HcmV?d00001 diff --git a/client/public/assets/favicon-192.png b/client/public/assets/favicon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..ddb51da7cfbe64074dc8c657148d387efe28f775 GIT binary patch literal 20197 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 literal 0 HcmV?d00001 diff --git a/client/src/App.js b/client/src/App.js index 83be7bc..44f8f07 100644 --- a/client/src/App.js +++ b/client/src/App.js @@ -16,6 +16,8 @@ import { GlobalContext } from "./GlobalContext.js"; import SignIn from "./SignIn.js"; import SignUp from "./SignUp.js"; import Group from "./Group.js"; +import VerifyEmail from "./VerifyEmail.js"; +import Dashboard from "./Dashboard.js"; import { base } from "./Common.js"; @@ -46,23 +48,21 @@ const App = () => { }/> }/> + }/> Not implemented... yet. }/> }/> - -
Goodtimes
-
The eventual new site for the legacy Beer Tuesday... coming soon... -
- { user &&
- Logged in as {user.email} -
} - - }/> + { user && user.mailVerified && + }/> + } + { user && !user.mailVerified && + You need to verify your email via the link sent to {user.email}.}/> + } + { !user && + } /> + }
diff --git a/client/src/Dashboard.css b/client/src/Dashboard.css new file mode 100644 index 0000000..51002a8 --- /dev/null +++ b/client/src/Dashboard.css @@ -0,0 +1,4 @@ +.Dashboard { + text-align: center; +} + diff --git a/client/src/Dashboard.js b/client/src/Dashboard.js new file mode 100644 index 0000000..0f577d2 --- /dev/null +++ b/client/src/Dashboard.js @@ -0,0 +1,78 @@ +import React, { useState, useEffect, useContext } from "react"; +import Paper from '@mui/material/Paper'; +import Moment from 'react-moment'; + +import { + useParams, + useNavigate +} from "react-router-dom"; + +import './Dashboard.css'; +import { GlobalContext } from "./GlobalContext.js"; +import { base } from "./Common.js"; + +function Dashboard() { + const { csrfToken, user, setUser } = useContext(GlobalContext); + const [ groups, setGroups ] = useState([]); + const [ error, setError ] = useState(null); + + useEffect(() => { + if (!user || !csrfToken) { + return; + } + const effect = async () => { + const res = await window.fetch( + `${base}/api/v1/groups`, { + method: 'POST', + cache: 'no-cache', + credentials: 'same-origin', + headers: { + 'Content-Type': 'application/json', + 'CSRF-Token': csrfToken + } + }); + const data = await res.json(); + if (res.status >= 400) { + setError(data.message ? data.message : res.statusText); + return; + } + if (!data) { + return; + } + setGroups(data); + } + + effect(); + }, [user, setGroups, csrfToken ]); + + return ( + + + + + { groups.map((group) => { + return
+
{group.name}
+ { group.nextEvent && +
Next event on .
+ } +
; + }) } +
+
+
+ ); +} + +export default Dashboard; diff --git a/client/src/GoodTimesBar.js b/client/src/GoodTimesBar.js index 5815146..ace9550 100644 --- a/client/src/GoodTimesBar.js +++ b/client/src/GoodTimesBar.js @@ -1,4 +1,4 @@ -import React, { useContext, useEffect, useState } from 'react'; +import React, { useContext, useEffect, useState, useCallback } from 'react'; import AppBar from '@mui/material/AppBar'; import Box from '@mui/material/Box'; import Toolbar from '@mui/material/Toolbar'; @@ -17,30 +17,13 @@ import { import Gravatar from 'react-gravatar' import { GlobalContext } from "./GlobalContext.js"; +import { base } from "./Common.js"; const GoodTimesBar = () => { - const { user } = useContext(GlobalContext); + const { csrfToken, user, setUser } = useContext(GlobalContext); const [ settings, setSettings ] = useState([]); const navigate = useNavigate(); - useEffect(() => { - if (user) { - setSettings(['Profile', 'Account', 'Dashboard', 'Logout'] - .map((setting) => ( - - {setting} - - ))); - } else { - setSettings(['Login'] - .map((setting) => ( - - {setting} - - ))); - } - }, [user, setSettings]); - const [anchorElNav, setAnchorElNav] = React.useState(null); const [anchorElUser, setAnchorElUser] = React.useState(null); @@ -51,6 +34,37 @@ const GoodTimesBar = () => { setAnchorElUser(event.currentTarget); }; + const handleUserMenu = useCallback(async (event, menu) => { + switch (menu) { + case 'Sign Out': { + const res = await window.fetch( + `${base}/api/v1/users/signout`, { + method: 'POST', + cache: 'no-cache', + credentials: 'same-origin', + headers: { + 'Content-Type': 'application/json', + 'CSRF-Token': csrfToken + } + }); + const data = await res.json(); + if (res.status >= 400) { + return; + } + setUser(null); + setAnchorElUser(null); + navigate('/'); + break; + } + + case 'Dashboard': + setAnchorElUser(null); + navigate('/'); + break; + } + console.log(event); + }, [csrfToken, setUser]); + const handleCloseNavMenu = () => { setAnchorElNav(null); }; @@ -59,6 +73,21 @@ const GoodTimesBar = () => { setAnchorElUser(null); }; + console.log(`goodtimes-bar - user - `, user); + + useEffect(() => { + if (user) { + setSettings([/*'Profile', 'Account',*/ 'Dashboard', 'Sign Out'] + .map((setting) => ( + handleUserMenu(e, setting)}> + {setting} + + ))); + } else { + setSettings([]); + } + }, [user, setSettings]); + return ( @@ -111,14 +140,15 @@ const GoodTimesBar = () => { > GOODTIMES + { !user && <> - + diff --git a/client/src/Group.css b/client/src/Group.css new file mode 100644 index 0000000..68dc9c0 --- /dev/null +++ b/client/src/Group.css @@ -0,0 +1,3 @@ +.Group { + text-align: center; +} diff --git a/client/src/Group.js b/client/src/Group.js index 70c7d4f..1d7a83d 100644 --- a/client/src/Group.js +++ b/client/src/Group.js @@ -1,22 +1,55 @@ -import React, { useState } from "react"; +import React, { useState, useEffect, useContext } from "react"; +import Paper from '@mui/material/Paper'; import { - useParams + useParams, + useNavigate } from "react-router-dom"; import './Group.css'; import { GlobalContext } from "./GlobalContext.js"; -import Paper from '@mui/material/Paper'; +import { base } from "./Common.js"; function Group() { - const { group } = useParams(); - const [ user, setUser ] = useState(null); + const { csrfToken, user, setUser } = useContext(GlobalContext); + const groupId = useParams().group; + const [ group, setGroup ] = useState(null); + const [ error, setError ] = useState(null); + + useEffect(() => { + if (!user || !groupId || !csrfToken) { + return; + } + + const effect = async () => { + const res = await window.fetch( + `${base}/api/v1/group/${groupId}/events`, { + method: 'POST', + cache: 'no-cache', + credentials: 'same-origin', + headers: { + 'Content-Type': 'application/json', + 'CSRF-Token': csrfToken + } + }); + const data = await res.json(); + if (res.status >= 400) { + setError(data.message ? data.message : res.statusText); + return; + } + if (!data) { + return; + } + setGroup(data); + }; + effect(); + }, [user, setGroup, groupId, csrfToken]); return ( -
+ - Group: {group} + Group: {groupId} -
+ ); } diff --git a/client/src/SignIn.js b/client/src/SignIn.js index ad8a463..27a4231 100644 --- a/client/src/SignIn.js +++ b/client/src/SignIn.js @@ -40,11 +40,7 @@ export default function SignIn() { const handleSubmit = (event) => { event.preventDefault(); const data = new FormData(event.currentTarget); - console.log({ - email: data.get('email'), - password: data.get('password'), - }); - window.fetch(`${base}/api/v1/users/login`, { + window.fetch(`${base}/api/v1/users/signin`, { method: 'POST', cache: 'no-cache', credentials: 'same-origin', diff --git a/client/src/SignUp.js b/client/src/SignUp.js index 02f7288..ba69bb6 100644 --- a/client/src/SignUp.js +++ b/client/src/SignUp.js @@ -1,4 +1,4 @@ -import * as React from 'react'; +import React, { useContext, useState } from 'react'; import Avatar from '@mui/material/Avatar'; import Button from '@mui/material/Button'; import CssBaseline from '@mui/material/CssBaseline'; @@ -12,7 +12,11 @@ import LockOutlinedIcon from '@mui/icons-material/LockOutlined'; import Typography from '@mui/material/Typography'; import Container from '@mui/material/Container'; import { createTheme, ThemeProvider } from '@mui/material/styles'; -import { Link as ReactLink } from "react-router-dom"; + +import { Link as ReactLink, useNavigate } from "react-router-dom"; + +import { GlobalContext } from "./GlobalContext.js"; +import { base } from "./Common.js"; function Copyright(props) { return ( @@ -30,12 +34,44 @@ function Copyright(props) { const theme = createTheme(); export default function SignUp() { + const { setUser, csrfToken } = useContext(GlobalContext); + const [error, setError] = useState(undefined); + const navigate = useNavigate(); + const handleSubmit = (event) => { event.preventDefault(); const data = new FormData(event.currentTarget); - console.log({ - email: data.get('email'), - password: data.get('password'), + window.fetch(`${base}/api/v1/users/signup`, { + method: 'POST', + cache: 'no-cache', + credentials: 'same-origin', + headers: { + 'Content-Type': 'application/json', + 'CSRF-Token': csrfToken + }, + body: JSON.stringify({ + email: data.get('email'), + firstName: data.get('firstName'), + familyName: data.get('lastName'), + password: data.get('password') + }) + }) + .then(async (res) => { + return [res.status, res.statusText, await res.json()]; + }) + .then(([status, statusText, data]) => { + if (status >= 400) { + setError(data.message ? data.message : statusText); + return null; + } if (!data) { + return; + } + setUser(data); + navigate("/"); + }) + .catch((error) => { + console.error(`Error: `, error); + setError(`Error authenticating.`); }); }; @@ -102,6 +138,10 @@ export default function SignUp() { /> + {error && + {error} + + }