mirror of
https://github.com/Govor-team/Govor.git
synced 2026-07-21 19:54:55 +00:00
fixed tests and adding new sessions when it not needed
This commit is contained in:
@@ -38,14 +38,14 @@ public class UserSessionOpener : IUserSessionOpener
|
||||
try
|
||||
{
|
||||
var sessions = await _repository.GetByUserIdAsync(user.Id);
|
||||
var existingSession = sessions.FirstOrDefault(s => s.DeviceInfo == deviceInfo);
|
||||
var existingSession = sessions.FirstOrDefault(s => s.DeviceInfo == deviceInfo );
|
||||
|
||||
if (existingSession is not null)
|
||||
return await UpdateExistingSessionAsync(user, deviceInfo, existingSession);
|
||||
}
|
||||
catch (NotFoundByKeyException<Guid> ex)
|
||||
{
|
||||
|
||||
_logger.LogError(ex, "Could not find session for user {userId}", user.Id);
|
||||
}
|
||||
|
||||
return await CreateNewSessionAsync(user, deviceInfo);
|
||||
|
||||
@@ -39,14 +39,10 @@ public class UserSessionRefresher : IUserSessionRefresher
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
var session = await _sessionsRepository.GetByHashedRefreshTokenAsync(_jwtTokenHasher.HashToken(refreshToken));
|
||||
|
||||
if (session.IsRevoked || session.ExpiresAt <= DateTime.UtcNow)
|
||||
throw new UnauthorizedAccessException("Refresh token is invalid or expired");
|
||||
|
||||
session.IsRevoked = true;
|
||||
await _sessionsRepository.UpdateAsync(session);
|
||||
|
||||
// Find user
|
||||
var user = await _usersRepository.FindByIdAsync(session.UserId);
|
||||
@@ -60,6 +56,7 @@ public class UserSessionRefresher : IUserSessionRefresher
|
||||
// Opening new session
|
||||
var newSession = new UserSession
|
||||
{
|
||||
Id = session.Id,
|
||||
UserId = user.Id,
|
||||
RefreshTokenHash = newRefreshTokenHash,
|
||||
DeviceInfo = session.DeviceInfo,
|
||||
@@ -67,7 +64,7 @@ public class UserSessionRefresher : IUserSessionRefresher
|
||||
ExpiresAt = DateTime.UtcNow.AddDays(_options.RefreshTokenLifetimeDays)
|
||||
};
|
||||
|
||||
await _sessionsRepository.AddAsync(newSession);
|
||||
await _sessionsRepository.UpdateAsync(newSession);
|
||||
|
||||
return new RefreshResult(newRefreshToken, newAccessToken);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user