Add logout route and controller, remove JWT from user on logout

This commit is contained in:
Alex Holliday committed 2024-08-09 13:33:13 -07:00
1 parent 68164b9362
commit 9f4d23b1b4
4 files changed
+26 -1

No files matched your search

+2 -1
View File
@@ -99,9 +99,10 @@ function NavBar() {
// Clear auth state
dispatch(clearAuthState());
dispatch(clearUptimeMonitorState());
// Make request to BE to remove JWT from user
await axiosIntance.post(
"/auth/logout",
{},
{ user: authState.user },
{
headers: {
Authorization: `Bearer ${authState.authToken}`,
+21
View File
@@ -163,6 +163,26 @@ const loginController = async (req, res, next) => {
}
};
const logoutController = async (req, res, next) => {
try {
// Get user
const { user } = req.body;
const userToLogout = await req.db.getUserByEmail(
{ body: { email: user.email } },
res
);
userToLogout.authToken = null;
await userToLogout.save();
return res
.status(200)
.json({ success: true, msg: successMessages.AUTH_LOGOUT_USER });
} catch (error) {
error.service = SERVICE_NAME;
next(error);
}
};
const userEditController = async (req, res, next) => {
try {
await editUserParamValidation.validateAsync(req.params);
@@ -530,6 +550,7 @@ const getAllUsersController = async (req, res) => {
module.exports = {
registerController,
loginController,
logoutController,
userEditController,
inviteController,
inviteVerifyController,
+2
View File
@@ -9,6 +9,7 @@ const User = require("../models/user");
const {
registerController,
loginController,
logoutController,
userEditController,
recoveryRequestController,
validateRecoveryTokenController,
@@ -23,6 +24,7 @@ const {
//Auth routes
router.post("/register", upload.single("profileImage"), registerController);
router.post("/login", loginController);
router.post("/logout", logoutController);
router.put(
"/user/:userId",
upload.single("profileImage"),
+1
View File
@@ -56,6 +56,7 @@ const successMessages = {
// Auth Controller
AUTH_CREATE_USER: "User created successfully",
AUTH_LOGIN_USER: "User logged in successfully",
AUTH_LOGOUT_USER: "User logged out successfully",
AUTH_UPDATE_USER: "User updated successfully",
AUTH_CREATE_RECOVERY_TOKEN: "Recovery token created successfully",
AUTH_VERIFY_RECOVERY_TOKEN: "Recovery token verified successfully",