devjhawar's picture
Upload folder using huggingface_hub
b9d823b verified
import jwt from 'jsonwebtoken';
import { supabase } from '../config/supabase.js';
export const authMiddleware = async (req, res, next) => {
const token = req.headers.authorization?.split(' ')[1];
if (!token) return res.status(401).json({ error: 'No token' });
// Try custom JWT first (email/password login)
try {
req.user = jwt.verify(token, process.env.JWT_SECRET);
return next();
} catch {
// not a custom token, try Supabase OAuth token
}
// Try Supabase OAuth token (Google login etc.)
try {
const { data: { user }, error } = await supabase.auth.getUser(token);
if (error || !user) throw new Error('Invalid Supabase token');
req.user = { id: user.id, email: user.email };
return next();
} catch {
return res.status(401).json({ error: 'Invalid token' });
}
};