const express = require("express");
const router = express.Router();
const {
join,
login,
requrestReset,
passwordReset,
} = require("../controller/UserController");
router.use(express.json());
router.post("/join", join);
router.post("/login", login);
router.post("/reset", requrestReset);
router.put("/reset", passwordReset);
module.exports = router;
const conn = require("../mariadb");
const { StatusCodes } = require("http-status-codes");
const jwt = require("jsonwebtoken");
const dotenv = require("dotenv");
dotenv.config();
const join = (req, res) => {
const { email, password } = req.body;
let sql = "INSERT INTO users (email, password) VALUES (?, ?)";
let values = [email, password];
conn.query(sql, values, (err, results) => {
if (err) {
console.log(err);
res.status(StatusCodes.BAD_REQUEST).end();
}
return res.status(StatusCodes.CREATED).json(results);
});
};
const login = (req, res) => {
const { email, password } = req.body;
let sql = "SELECT * FROM users WHERE email = ?";
conn.query(sql, email, (err, results) => {
if (err) {
console.log(err);
res.status(StatusCodes.BAD_REQUEST).end();
}
const loginUser = results[0];
if (loginUser && loginUser.password === password) {
const token = jwt.sign(
{
email: loginUser.email,
},
process.env.JWT_SECRET,
{ expiresIn: "5m", issuer: "monicx" }
);
res.cookie("token", token, {
httpOnly: true,
});
console.log(token); //ํ์ธ์ฉ
return res.status(StatusCodes.OK).json({ token });
} else {
return res.status(StatusCodes.UNAUTHORIZED).end();
}
});
};
const requrestReset = () => {};
const passwordReset = () => {};
module.exports = { join, login, requrestReset, passwordReset };
์ปจํธ๋กค๋ฌ๋ก ๋ผ์ฐํฐ์ ๋ก์ง ๋ถ๋ฆฌ
jwt ํ ํฐ์ ์ฌ์ฉํ ์ธ์ฆ ๊ตฌํ
'๐๏ธํ๋ก๊ทธ๋๋จธ์ค ๋ฐ๋ธ์ฝ์ค > ํ๋ก์ ํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [๋ฐ๋ธ์ฝ์ค] ๋์ ๋ชฉ๋ก ์กฐํ ํ์ด์ง ์ ์ฉ API (3) | 2025.05.19 |
|---|---|
| [๋ฐ๋ธ์ฝ์ค] ๋์ ์กฐํ API (0) | 2025.05.16 |
| [๋ฐ๋ธ์ฝ์ค] ๋ถ์คํ ์ด ํ๋ก์ ํธ #1. app.js ๋ฐ ์ ์ api ๋ผ์ฐํฐ ํ ํ๋ฆฟ (0) | 2025.05.13 |
| [๋ฐ๋ธ์ฝ์ค] BOOK STORE ํ๋ก์ ํธ API ์ค๊ณ(2) (1) | 2025.05.09 |
| [๋ฐ๋ธ์ฝ์ค] BOOK STORE ํ๋ก์ ํธ API ์ค๊ณ(1) (4) | 2025.05.08 |