Open k1nha opened 2 months ago
Quando fazemos o login, não temos acesso ao contexto do usuário que está utilizando a nossa api
Como está hoje:
export class AuthenticationJWT { jwtAuth: AsyncRequestHandler = async (req, res, next) => { try { const token = req.headers.authorization?.split(' ')[1]; if (!token) { return res.status(401).json({ error: 'Token missing' }); } const { userId } = this.jwtHelper.parseToken(token); const user = await this.userRepository.findById(userId); console.log('asdasdasd'); if (!user) { return res.status(401).json({ error: 'Invalid user' }); } next(); } catch (error) { if (error instanceof InvalidTokenException) { return res.status(401).json({ error: 'Invalid token' }); } return res.status(500).json({ error: 'Internal Server Error' }); } }; constructor( private jwtHelper: JWTHelper, private userRepository: UserRepository ) {} }
O ideal é que seja colocado dentro do contexto da request o usuário,
algo como
export class AuthenticationJWT { jwtAuth: AsyncRequestHandler = async (req, res, next) => { try { const token = req.headers.authorization?.split(' ')[1]; if (!token) { return res.status(401).json({ error: 'Token missing' }); } const { userId } = this.jwtHelper.parseToken(token); const user = await this.userRepository.findById(userId); console.log('asdasdasd'); if (!user) { return res.status(401).json({ error: 'Invalid user' }); } req.user = user next(); } catch (error) { if (error instanceof InvalidTokenException) { return res.status(401).json({ error: 'Invalid token' }); } return res.status(500).json({ error: 'Internal Server Error' }); } }; constructor( private jwtHelper: JWTHelper, private userRepository: UserRepository ) {} }
Quando fazemos o login, não temos acesso ao contexto do usuário que está utilizando a nossa api
Como está hoje:
O ideal é que seja colocado dentro do contexto da request o usuário,
algo como