Files
Reactive-Resume/apps/server/src/auth/strategy/jwt.strategy.ts
Amruth Pillai 295172687b 🚀 release: v3.0.0
2022-03-02 17:44:11 +01:00

23 lines
750 B
TypeScript

import { Injectable } from '@nestjs/common';
import { ConfigService } from '@nestjs/config';
import { PassportStrategy } from '@nestjs/passport';
import { ExtractJwt, Strategy } from 'passport-jwt';
import { User } from '@/users/entities/user.entity';
import { UsersService } from '@/users/users.service';
@Injectable()
export class JwtStrategy extends PassportStrategy(Strategy) {
constructor(configService: ConfigService, private readonly usersService: UsersService) {
super({
jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(),
secretOrKey: configService.get<string>('auth.jwtSecret'),
ignoreExpiration: false,
});
}
validate({ id }: User): Promise<User> {
return this.usersService.findById(id);
}
}