Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | 1x 1x 1x 1x 1x 3x 1x | import { Injectable } from '@nestjs/common';
import { PassportStrategy } from '@nestjs/passport';
import { ExtractJwt, Strategy } from 'passport-jwt';
import { UserRole } from '../user/entities/user.entity';
import { cookieExtractor } from './functions/cookie-extractor';
@Injectable()
export class JwtStrategy extends PassportStrategy(Strategy) {
constructor() {
super({
jwtFromRequest: ExtractJwt.fromExtractors([cookieExtractor]),
secretOrKey: process.env.JWT_SECRET || 'dev_secret',
});
}
async validate(payload: { sub: string; email: string; role: UserRole }) {
return {
userId: Number(payload.sub),
email: payload.email,
role: payload.role,
};
}
}
|