Showing
4 changed files
with
53 additions
and
14 deletions
| ... | @@ -4,6 +4,7 @@ import AboutPage from './pages/AboutPage'; | ... | @@ -4,6 +4,7 @@ import AboutPage from './pages/AboutPage'; |
| 4 | import MenuPage from './pages/MenuPage'; | 4 | import MenuPage from './pages/MenuPage'; |
| 5 | import SigninPage from './pages/SigninPage'; | 5 | import SigninPage from './pages/SigninPage'; |
| 6 | import SignupPage from './pages/SignupPage'; | 6 | import SignupPage from './pages/SignupPage'; |
| 7 | +import MypickPage from './pages/MypickPage'; | ||
| 7 | 8 | ||
| 8 | import { | 9 | import { |
| 9 | BrowserRouter as Router, | 10 | BrowserRouter as Router, |
| ... | @@ -22,7 +23,7 @@ function App() { | ... | @@ -22,7 +23,7 @@ function App() { |
| 22 | <Route exact path="/menu" component={MenuPage}/> | 23 | <Route exact path="/menu" component={MenuPage}/> |
| 23 | <Route exact path="/signin" component={SigninPage}/> | 24 | <Route exact path="/signin" component={SigninPage}/> |
| 24 | <Route exact path="/signup" component={SignupPage}/> | 25 | <Route exact path="/signup" component={SignupPage}/> |
| 25 | - {/* mypick 라우팅 */} | 26 | + <Route exact path="/mypick" component={MypickPage}/> |
| 26 | </Switch> | 27 | </Switch> |
| 27 | </> | 28 | </> |
| 28 | </Router> | 29 | </Router> | ... | ... |
client/src/pages/MypickPage.js
0 → 100644
| 1 | +import React, { useState } from 'react' | ||
| 2 | +import NavBar from '../components/NavBar'; | ||
| 3 | + | ||
| 4 | +// auth로 로그인한 사용자일 때와 아닐때 판단해서 화면을 다르게 | ||
| 5 | +// 렌더링 | ||
| 6 | + | ||
| 7 | +const MypickPage = () => { | ||
| 8 | + const [isLogin, setIsLogin] = useState(false); | ||
| 9 | + return ( | ||
| 10 | + <> | ||
| 11 | + <NavBar/> | ||
| 12 | + { | ||
| 13 | + isLogin ? <h1>mypick</h1> : <a>aaa</a> | ||
| 14 | + } | ||
| 15 | + </> | ||
| 16 | + ) | ||
| 17 | +} | ||
| 18 | + | ||
| 19 | +export default MypickPage; |
| ... | @@ -29,7 +29,7 @@ const SigninPage = (props) => { | ... | @@ -29,7 +29,7 @@ const SigninPage = (props) => { |
| 29 | }); | 29 | }); |
| 30 | 30 | ||
| 31 | if (response.message === "Token issue") { | 31 | if (response.message === "Token issue") { |
| 32 | - localStorage.setItem("user_token", JSON.stringify(response.token)); | 32 | + localStorage.setItem("user", JSON.stringify(response.token)); |
| 33 | alert('Login success'); | 33 | alert('Login success'); |
| 34 | props.history.push('/'); | 34 | props.history.push('/'); |
| 35 | } else if(response.message === "user does not exist"){ | 35 | } else if(response.message === "user does not exist"){ | ... | ... |
| ... | @@ -33,10 +33,6 @@ connection.connect(); | ... | @@ -33,10 +33,6 @@ connection.connect(); |
| 33 | app.use(bodyParser.json()); | 33 | app.use(bodyParser.json()); |
| 34 | app.use(bodyParser.urlencoded({ extended: true })); | 34 | app.use(bodyParser.urlencoded({ extended: true })); |
| 35 | 35 | ||
| 36 | -app.get("/api/hello", (req, res) => { | ||
| 37 | - res.send("Hello skrrrr!"); | ||
| 38 | -}); | ||
| 39 | - | ||
| 40 | // datas 전달 | 36 | // datas 전달 |
| 41 | app.get("/api/datas", (req, res) => { | 37 | app.get("/api/datas", (req, res) => { |
| 42 | iconv.extendNodeEncodings(); | 38 | iconv.extendNodeEncodings(); |
| ... | @@ -68,14 +64,6 @@ app.post("/api/signup", (req, res) => { | ... | @@ -68,14 +64,6 @@ app.post("/api/signup", (req, res) => { |
| 68 | }); | 64 | }); |
| 69 | }); | 65 | }); |
| 70 | 66 | ||
| 71 | -// ???? | ||
| 72 | -// res.send({ | ||
| 73 | -// "code":200, | ||
| 74 | -// "message": "success" | ||
| 75 | -// }) | ||
| 76 | -// ???? | ||
| 77 | -// jwt_secret_key.value | ||
| 78 | -// signin | ||
| 79 | app.post("/api/signin", (req, res) => { | 67 | app.post("/api/signin", (req, res) => { |
| 80 | 68 | ||
| 81 | const name = req.body.username; | 69 | const name = req.body.username; |
| ... | @@ -139,4 +127,35 @@ app.post("/api/signin", (req, res) => { | ... | @@ -139,4 +127,35 @@ app.post("/api/signin", (req, res) => { |
| 139 | }); | 127 | }); |
| 140 | 128 | ||
| 141 | 129 | ||
| 130 | +// ?? ??? | ||
| 131 | +app.get('/api/auth', (req, res) => { | ||
| 132 | + // ?? ?? | ||
| 133 | + try { | ||
| 134 | + // ?? ??? ??? ??(req.headers.authorization)? ???? ???? ?? ?? | ||
| 135 | + req.decoded = jwt.verify(req.headers.authorization, jwt_secret_key.value); | ||
| 136 | + return res.status(200).json({ | ||
| 137 | + code: 200, | ||
| 138 | + message: 'valid token' | ||
| 139 | + }); | ||
| 140 | + } | ||
| 141 | + | ||
| 142 | + // ?? ?? | ||
| 143 | + catch (error) { | ||
| 144 | + // ????? ??? ?? | ||
| 145 | + if (error.name === 'TokenExpiredError') { | ||
| 146 | + return res.status(419).json({ | ||
| 147 | + code: 419, | ||
| 148 | + message: 'expired token' | ||
| 149 | + }); | ||
| 150 | + } | ||
| 151 | + | ||
| 152 | + // ??? ???? ???? ?? ?? | ||
| 153 | + return res.status(401).json({ | ||
| 154 | + code: 401, | ||
| 155 | + message: 'invalid token' | ||
| 156 | + }); | ||
| 157 | + } | ||
| 158 | +}); | ||
| 159 | + | ||
| 160 | + | ||
| 142 | app.listen(port, () => console.log(`Listening on port ${port}`)); | 161 | app.listen(port, () => console.log(`Listening on port ${port}`)); | ... | ... |
-
Please register or login to post a comment