src/auth/access-jwt.strategy.ts
Passport library Access JsonWebToken configuration
Methods |
|
constructor()
|
Defined in src/auth/access-jwt.strategy.ts:13
|
Passport library JsonWebToken configuration |
Async validate | ||||||
validate(payload: AccessTokenPayload)
|
||||||
Defined in src/auth/access-jwt.strategy.ts:24
|
||||||
Validates and returns data after JsonWebToken is decrypted
Parameters :
Returns :
Promise<AccessTokenContent>
|
import { Injectable } from '@nestjs/common';
import { PassportStrategy } from '@nestjs/passport';
import { ExtractJwt, Strategy } from 'passport-jwt';
import { accessJwtConfig } from 'src/config/jwt.config';
import { AccessTokenContent } from './types/access-token-content';
import { AccessTokenPayload } from './types/access-token-payload';
/** Passport library Access JsonWebToken configuration */
@Injectable()
export class AccessJwtStrategy extends PassportStrategy(
Strategy,
'access-jwt',
) {
/** Passport library JsonWebToken configuration */
constructor() {
super({
jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(),
ignoreExpiration: false,
secretOrKey: accessJwtConfig.secret,
});
}
/** Validates and returns data after JsonWebToken is decrypted */
async validate(payload: AccessTokenPayload): Promise<AccessTokenContent> {
return {
userId: payload.sub,
userRole: payload.userRole,
};
}
}