Fix issue with new users

This commit is contained in:
2025-04-23 18:52:17 -04:00
parent fd4674ee6c
commit 781d8ead94

View File

@@ -93,6 +93,7 @@ public class LoginWithGoogleHandler(
if (user is null)
{
var generatedPassword = PasswordGenerator.Next();
var refreshToken = RefreshTokenGenerator.Next();
var generatedUser = new IdentityUser
{
UserName = userInfo.Email,
@@ -102,6 +103,8 @@ public class LoginWithGoogleHandler(
Alias = userInfo.Name,
PortraitUrl = userInfo.Picture,
GoogleId = userInfo.Id,
RefreshToken = refreshToken,
RefreshTokenExpiryTime = DateTime.UtcNow.Add(jwtOptions.Value.RefreshTokenLifetime)
};
var result = await userManager.CreateAsync(
@@ -122,13 +125,14 @@ public class LoginWithGoogleHandler(
await signInManager.SignInAsync(user, isPersistent: false);
// Generate refresh token
var refreshToken = RefreshTokenGenerator.Next();
// Store refresh token in user's properties
user.RefreshToken = refreshToken;
user.RefreshTokenExpiryTime = DateTime.UtcNow.Add(jwtOptions.Value.RefreshTokenLifetime);
await userManager.UpdateAsync(user);
// Generate refresh token for existing users
if (user.RefreshToken == null)
{
var refreshToken = RefreshTokenGenerator.Next();
user.RefreshToken = refreshToken;
user.RefreshTokenExpiryTime = DateTime.UtcNow.Add(jwtOptions.Value.RefreshTokenLifetime);
await userManager.UpdateAsync(user);
}
var accessToken = JwtTokenHelper.GenerateJwtToken(
expiresIn: jwtOptions.Value.Lifetime,
@@ -143,7 +147,7 @@ public class LoginWithGoogleHandler(
portraitUrl: user.PortraitUrl);
await SendOkAsync(
new LoginWithGoogleResponse(accessToken, refreshToken),
new LoginWithGoogleResponse(accessToken, user.RefreshToken),
cancellation: ct);
}
}