Exemplo n.º 1
0
        public async Task <AuthResponce> LogInAsync(LoginUserDTO loginUser, string ipAddress)
        {
            var user = await _userManager.FindByEmailAsync(loginUser.Email);

            if (user is null)
            {
                throw new ArgumentException("", Resources.FindbyIdError);
            }
            if (user.IsActive)
            {
                var result = await _signInManager.PasswordSignInAsync(loginUser.Email, loginUser.Password, false, true);

                if (result.Succeeded)
                {
                    var responce = new AuthResponce();
                    responce.AccessToken = await GetFullJwtAsync(user);

                    var refreshToken = await _tokenRefreshService.GenerateRefreshToken(ipAddress, user.Id);

                    responce.RefreshToken = refreshToken.Token;
                    return(responce);
                }
            }
            throw new ArgumentException(Resources.LoginFailed);
        }