From 7e7231b514baa6bec8ff3d3fd3e7b8dc41848a79 Mon Sep 17 00:00:00 2001 From: JustAnyone Date: Thu, 6 Nov 2025 20:30:50 +0200 Subject: [PATCH] Make refresh token also be a JWT as requested --- T120B165-ImgBoard/Services/TokenService.cs | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/T120B165-ImgBoard/Services/TokenService.cs b/T120B165-ImgBoard/Services/TokenService.cs index 9c5f043..0668117 100644 --- a/T120B165-ImgBoard/Services/TokenService.cs +++ b/T120B165-ImgBoard/Services/TokenService.cs @@ -37,6 +37,14 @@ public class TokenService(ImgBoardContext context, IConfiguration config, UserMa } public async Task GenerateJwtToken(User user) + { + return await GenerateJwtToken( + user, + DateTime.Now.AddMinutes(Convert.ToDouble(config["Jwt:DurationInMinutes"])) + ); + } + + private async Task GenerateJwtToken(User user, DateTime dateExpire) { var roles = await userManager.GetRolesAsync(user); var claims = new List @@ -54,7 +62,7 @@ public class TokenService(ImgBoardContext context, IConfiguration config, UserMa issuer: config["Jwt:Issuer"], audience: config["Jwt:Audience"], claims: claims, - expires: DateTime.Now.AddMinutes(Convert.ToDouble(config["Jwt:DurationInMinutes"])), + expires: dateExpire, signingCredentials: creds); return new JwtSecurityTokenHandler().WriteToken(token); @@ -62,10 +70,12 @@ public class TokenService(ImgBoardContext context, IConfiguration config, UserMa public async Task GenerateRefreshToken(User user) { + var dateExpire = DateTime.Now.AddDays(30); + var jwtToken = await GenerateJwtToken(user, dateExpire); var token = new RefreshToken { - Expires = DateTime.Now.AddDays(30), - Token = Guid.NewGuid().ToString(), + Expires = dateExpire, + Token = jwtToken, User = user }; await context.RefreshTokens.AddAsync(token);