@WebLedNik

Как добавить свои события при ошибки валидации JWT через passport-jwt NestJs?

Я новичок в Nest js.

Суть проблемы:
Я пытаюсь добавить событие удаления cookie с jwt в случае если jwt невалиден.
Есть решение установить равное время жизни jwt и cookie.
Но хочется добавить данное событие при ошибки валидации jwt.
Как я понял за валидацию jwt в passport-jwt отвечает данный блок.

import { Injectable } from "@nestjs/common";
import { ConfigService } from "@nestjs/config";
import { PassportStrategy } from "@nestjs/passport";
import { Request } from "express";
import { ExtractJwt, Strategy } from "passport-jwt";

const configService = new ConfigService

@Injectable()
export class JwtStrategy extends PassportStrategy(Strategy) {
	constructor() {
		super({
			jwtFromRequest: ExtractJwt.fromExtractors([(request: Request) => {
				return request?.cookies?.jwt
			}]),
			ignoreExpiration: false,
			secretOrKey: configService.get('JWT_SECRET_KEY')
		})

	}

	async validate(payload: any) {
		return {
			id: payload.id,
			firstName: payload.firstName,
			lastName: payload.lastName,
			email: payload.email
		}
	}
}


И когда мы успешно проходим валидацию вызывается функция validate. Но когда, при проверка jwt возникает ошибка, то с сервера приходит 401 ответ. И возникает вопрос, как добавить событие удаления cookie?
  • Вопрос задан
  • 18 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы