jsonwebtoken authorization
This commit is contained in:
18
server/middlewares/auth.js
Normal file
18
server/middlewares/auth.js
Normal 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 };
|
||||||
@@ -2,6 +2,7 @@ const express = require("express");
|
|||||||
const yup = require("yup");
|
const yup = require("yup");
|
||||||
const { Op } = require("sequelize");
|
const { Op } = require("sequelize");
|
||||||
const { User } = require("../models");
|
const { User } = require("../models");
|
||||||
|
const { validateToken } = require("../middlewares/auth");
|
||||||
const argon2 = require("argon2");
|
const argon2 = require("argon2");
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
const { v4: uuidV4 } = require("uuid");
|
const { v4: uuidV4 } = require("uuid");
|
||||||
@@ -165,7 +166,12 @@ router.post("/login", async (req, res) => {
|
|||||||
|
|
||||||
res.json({
|
res.json({
|
||||||
accessToken: accessToken,
|
accessToken: accessToken,
|
||||||
user: userInfo,
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
router.get("/auth", validateToken, (req, res) => {
|
||||||
|
res.json({
|
||||||
|
id: req.user.id,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user