20 lines
540 B
TypeScript
20 lines
540 B
TypeScript
import type { DecodedToken } from './types/jwt';
|
|
import { Injectable } from '@nestjs/common';
|
|
import { JwtService } from '@nestjs/jwt';
|
|
import { omit } from 'radash';
|
|
|
|
@Injectable()
|
|
export class AppService {
|
|
constructor(private readonly jwtService: JwtService) {}
|
|
|
|
public checkToken(token: string) {
|
|
return this.jwtService.verify<DecodedToken>(token);
|
|
}
|
|
|
|
public refreshToken(token: string) {
|
|
const payload = this.jwtService.decode<DecodedToken>(token);
|
|
|
|
return this.jwtService.sign(omit(payload, ['iat', 'exp']));
|
|
}
|
|
}
|