public async Task <string> LoginAsync(string login, string password) { var account = await _accountStorage.FindAccountAsync(login); if (account == null) { throw new AuthorizationException(AuthorizationStatus.IncorrectLogin); } if (_userBlockingService.IsBlocked(login)) { throw new AuthorizationException(AuthorizationStatus.BlockedAccountFor1Minute); } if (account.Password != password) { _userBlockingService.NegativeLogin(login); throw new AuthorizationException(AuthorizationStatus.IncorrectPassword); } _userBlockingService.PositiveLogin(login); return(_tokenStorage.GenerateToken(account.Login)); }