lyvuha-portfolio / backend /src /controllers /authController.js
Cong123779's picture
feat: add favicon, OG image, dual DB adapter (Supabase+SQLite), api utility
7c46a3a verified
Raw
History Blame Contribute Delete
914 Bytes
import jwt from 'jsonwebtoken';
export async function login(req, res) {
try {
const { username, password } = req.body;
const envUsername = process.env.ADMIN_USERNAME || 'admin';
const envPassword = process.env.ADMIN_PASSWORD || 'admin123';
if (username === envUsername && password === envPassword) {
const token = jwt.sign(
{ username },
process.env.JWT_SECRET || 'fallback_secret_key',
{ expiresIn: '24h' }
);
return res.status(200).json({
success: true,
message: 'Login successful',
token,
user: { username }
});
}
return res.status(401).json({
success: false,
message: 'Invalid username or password'
});
} catch (error) {
console.error('Login error:', error);
return res.status(500).json({
success: false,
message: 'An error occurred during login'
});
}
}