public async Task<string> RefreshTokenAsync(string token) { var refreshToken = await _tokenRepository.GetRefreshTokenAsync(token);
if (refreshToken is null) { throw new AuthenticationException("Invalid refresh token"); } if (refreshToken.IsUsed) { throw new AuthenticationException("Token Is Already Used"); } if (refreshToken.ExpiresAt <= DateTime.Now) { throw new AuthenticationException("Refresh token has expired"); } refreshToken.IsUsed = true; refreshToken.Refresh(); await _tokenRepository.UpdateAsync(refreshToken);
return refreshToken.Value; }
Новый сгенерированный токен если попытаться обновить кидает эксепшен ...
Новый сгенерированный токен если попытаться обновить кидает эксепшен ...