From 974d7315b9bbeb770d660e5aab24770e61a7c2e2 Mon Sep 17 00:00:00 2001 From: cottongin Date: Sun, 22 Mar 2026 23:58:27 -0400 Subject: [PATCH] feat: add optional auth middleware Made-with: Cursor --- backend/middleware/optional-auth.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 backend/middleware/optional-auth.js diff --git a/backend/middleware/optional-auth.js b/backend/middleware/optional-auth.js new file mode 100644 index 0000000..79cf1b2 --- /dev/null +++ b/backend/middleware/optional-auth.js @@ -0,0 +1,19 @@ +const jwt = require('jsonwebtoken'); +const { JWT_SECRET } = require('./auth'); + +function optionalAuthenticateToken(req, res, next) { + const authHeader = req.headers['authorization']; + const token = authHeader && authHeader.split(' ')[1]; + + if (!token) { + req.user = null; + return next(); + } + + jwt.verify(token, JWT_SECRET, (err, user) => { + req.user = err ? null : user; + next(); + }); +} + +module.exports = { optionalAuthenticateToken };