jsonwebtoken authorization

This commit is contained in:
2024-06-23 22:13:15 +08:00
parent e208a0c400
commit 1b79f5c6c6
2 changed files with 25 additions and 1 deletions

View File

@@ -0,0 +1,18 @@
const { verify } = require("jsonwebtoken");
require("dotenv").config();
const validateToken = (req, res, next) => {
try {
const accessToken = req.header("Authorization").split(" ")[1];
if (!accessToken) {
return res.sendStatus(401);
}
const payload = verify(accessToken, process.env.APP_SECRET);
req.user = payload;
return next();
} catch (err) {
return res.sendStatus(401);
}
};
module.exports = { validateToken };

View File

@@ -2,6 +2,7 @@ const express = require("express");
const yup = require("yup");
const { Op } = require("sequelize");
const { User } = require("../models");
const { validateToken } = require("../middlewares/auth");
const argon2 = require("argon2");
const router = express.Router();
const { v4: uuidV4 } = require("uuid");
@@ -165,7 +166,12 @@ router.post("/login", async (req, res) => {
res.json({
accessToken: accessToken,
user: userInfo,
});
});
router.get("/auth", validateToken, (req, res) => {
res.json({
id: req.user.id,
});
});