@Injectable()
export class JwtStrategy extends PassportStrategy(Strategy) {
constructor(private readonly userService: UserService) {
super({
jwtFromRequest: ExtractJwt.fromExtractors([
(request: Request) => {
return request?.cookies?.Authentication;
},
]),
secretOrKey: process.env.JWT_SECRET,
});
}
async validate(payload: TokenPayload) {
return this.userService.getById(payload.userId);
}
}