public void AddApiTokens(UserApiToken[] userApiTokens)
 {
     IsAlive();
     if (Status == ServiceStatus.Connected)
         EventSystemClient.AddApiTokens(userApiTokens);
     else
         Log.ErrorFormat("Connect to windows service can not be established:");
 }
示例#2
0
        public async Task <UserLoginResponse> Handle(UserLoginCommand input)
        {
            await new UserLoginCommandValidator().ValidateAndThrowAsync(input);

            var user = await _userManager.FindByEmailAsync(input.Email);

            if (user == null)
            {
                throw new AuthenticationException("Неверный email или пароль");
            }

            var isPasswordOk = await _userManager.CheckPasswordAsync(user, input.Password);

            if (!isPasswordOk)
            {
                var identityResult = await _userManager.AccessFailedAsync(user);

                throw !identityResult.Succeeded
                    ? (Exception) new IdentityResultException(identityResult)
                    : new AuthenticationException("Неверный email или пароль");
            }

            var expiredTokens = _movieLibContext.UserApiTokens.Where(UserApiToken.IsExpired);

            _movieLibContext.UserApiTokens.RemoveRange(expiredTokens);
            await _movieLibContext.SaveChangesAsync();

            var newToken = new UserApiToken
            {
                UserId             = user.Id,
                ExpirationDateTime = input.RememberMe ? (DateTime?)null : DateTime.Now.AddDays(1)
            };

            await _movieLibContext.UserApiTokens.AddAsync(newToken);

            await _movieLibContext.SaveChangesAsync();

            return(new UserLoginResponse {
                Token = newToken.ApiToken
            });
        }
 private UserApiToken GetApiTokenByUiToken(object obj)
 {
     UiUserApiToken uiToken = (UiUserApiToken)obj;
     UserApiToken token = new UserApiToken
     {
         FriendlyName = uiToken.FriendlyName,
         ApiToken = uiToken.ApiToken,
         IsDefault = uiToken.IsDefault
     };
     return token;
 }