add token expiry date to login response

This commit is contained in:
Anika Raemer 2025-09-26 19:42:18 +02:00
parent 5dd79374c1
commit fac606cf97
3 changed files with 18 additions and 4 deletions

View file

@ -32,13 +32,14 @@ export class AuthController {
}
// Create JWT
const token = encrypt.generateToken({
const tokenInfo = encrypt.generateToken({
id: user.id,
});
const responseDto = new LoginResponseDto();
responseDto.userData = this.mapper.toDto(user);
responseDto.token = token;
responseDto.token = tokenInfo.token;
responseDto.expiryDate = tokenInfo.expiryDate;
return responseDto;
}
}

View file

@ -6,4 +6,5 @@ import { UserDto } from "./UserDto.js";
export class LoginResponseDto {
userData?: UserDto;
token?: string;
expiryDate? : Date;
}

View file

@ -4,6 +4,16 @@ import dotenv from "dotenv";
dotenv.config();
const { JWT_SECRET = "" } = process.env;
export class tokenInfo{
constructor(token: string, expiryDate: Date){
this.token = token;
this.expiryDate = expiryDate;
}
token: string;
expiryDate: Date;
}
export class encrypt {
static async encryptpass(password: string) {
return bcrypt.hashSync(password, 12);
@ -13,8 +23,10 @@ export class encrypt {
}
static generateToken(payload: object) {
// @todo currently, we have an error here!
return jwt.sign(payload, JWT_SECRET, { expiresIn: "1d" });
let expiryDate = new Date();
expiryDate.setDate(expiryDate.getDate() + 1); // 1 day
const token = jwt.sign(payload, JWT_SECRET, { expiresIn: "1d" });
return new tokenInfo(token, expiryDate);
}
static verifyToken(token: string) {