Exemplo n.º 1
0
        //POST : /api/RntAppUser/LogIn
        public async Task <IActionResult> LogIn(LogInDTO logInDTO)
        {
            var user = await _userManager.FindByNameAsync(logInDTO.UserName);

            if (user != null && await _userManager.CheckPasswordAsync(user, logInDTO.Password))
            {
                var tokenDescriptor = new SecurityTokenDescriptor
                {
                    Subject = new ClaimsIdentity(new Claim[]
                    {
                        new Claim("UserID", user.Id.ToString())
                    }),
                    Expires            = DateTime.UtcNow.AddMinutes(10),
                    SigningCredentials = new SigningCredentials(
                        new SymmetricSecurityKey(
                            Encoding.UTF8.GetBytes(_appSettings.jwtSecure)),
                        SecurityAlgorithms.HmacSha256Signature)
                };
                var tokenHandler  = new JwtSecurityTokenHandler();
                var securityToken = tokenHandler.CreateToken(tokenDescriptor);
                var token         = tokenHandler.WriteToken(securityToken);
                return(Ok(new { token }));
            }
            else
            {
                return(BadRequest(new { message = "User name or password is incorrect." }));
            }
        }
    public IActionResult GetToken([FromBody] LogInDTO authorizationData)
    {
        var user = _userRepository.FindBy(u => u.Name == authorizationData.Username &&
                                          u.Password == authorizationData.Password).SingleOrDefault();

        if (user == null)
        {
            return(Unauthorized());
        }

        return(Ok(_authorizationService.GenerateTokens(user)));
    }
Exemplo n.º 3
0
        public void LogIn_InvalidUserNamePassword_ReturnsFalse()
        {
            var webSecurityWrapperMock = new Mock <IWebSecurityWrapper>();
            var logInDataDTO           = new LogInDTO
            {
                UserName   = "******",
                Password   = "******",
                RememberMe = true
            };

            webSecurityWrapperMock.Setup(p => p.LogIn(logInDataDTO)).Returns(false);

            var authService = new AuthService(webSecurityWrapperMock.Object);
            var result      = authService.LogIn(logInDataDTO);

            Assert.False(result);
        }
Exemplo n.º 4
0
        public void LogIn(string userName, string password)
        {
            var jsonObject = new LogInDTO()
            {
                Name = "Anukool",
                Job  = "Test Engineer"
            };
            ////var jsonString = @"{
            //                    ""name"": ""Anukool"" ,
            //                    ""job"":""Test Engineer""
            //                   }";
            var restURL  = RestApiHelper.SetUrl("api/users/");
            var request  = RestApiHelper.CreatePostRequest(jsonObject);
            var response = RestApiHelper.GetResponseStatus(restURL, request);

            //LogInDTO logInDtp = RestApiHelper.GetContent<LogInDTO>(response);
            Assert.AreEqual("completed", response.StatusCode, "POST call failed, actual status is {0}", response.StatusCode);
        }
Exemplo n.º 5
0
        public async Task <IActionResult> LogInUsuario([FromBody] LogInDTO logInDTO)
        {
            // Comprueba credenciales.
            if (string.IsNullOrEmpty(logInDTO.Usuario) || string.IsNullOrEmpty(logInDTO.Password))
            {
                return(new OkObjectResult(new RespuestaServidor
                {
                    Exitoso = true, MensajeError = "Es necesario ingresar información de inicio de sesión."
                }));
            }
            ;

            // Se busca al usuario dentro del servicio de Identity.
            var user = await _usrMngr.FindByNameAsync(logInDTO.Usuario);

            if (user == null)
            {
                return(new OkObjectResult(new RespuestaServidor
                {
                    Exitoso = false, MensajeError = "No se encontró el usuario."
                }));
            }
            ;

            // Valida el password
            var passwordCheck = await _usrMngr.CheckPasswordAsync(user, logInDTO.Password);

            if (!passwordCheck)
            {
                return(new OkObjectResult(new RespuestaServidor
                {
                    Exitoso = false, MensajeError = "Password no coincide."
                }));
            }

            return(new OkObjectResult(new RespuestaServidor
            {
                Exitoso = true, MensajeError = string.Empty
            }));
        }
Exemplo n.º 6
0
        public async Task <IActionResult> LogIn([FromBody] LogInDTO dto)
        {
            if (dto == null)
            {
                return(BadRequest());
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(dto));
            }

            try
            {
                bool result = await _repo.LogIn(dto);

                return(new ObjectResult(result));
            }
            catch (Exception exc)
            {
                return(BadRequest(exc));
            }
        }
        public async Task <IActionResult> LogIn(LogInDTO logIn)
        {
            var user = await _signInManager.UserManager.FindByNameAsync(logIn.Name);

            if (user != null && (await _signInManager.CheckPasswordSignInAsync(user, logIn.Pass, false)) == Microsoft.AspNetCore.Identity.SignInResult.Success)
            {
                var tokenResponse = await TokenRequest();

                if (!tokenResponse.IsError)
                {
                    return(Ok(tokenResponse.AccessToken));
                }
                else
                {
                    return(Ok(tokenResponse.Error));
                }
            }
            else
            {
                return(BadRequest("Invalid username or password"));
            }
        }
        public async Task <IActionResult> Login(LogInDTO logInDTO, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                var result = await _accountService.PasswordSignInAsync(logInDTO);

                if (result.Succeeded)
                {
                    if (!string.IsNullOrEmpty(returnUrl) && Url.IsLocalUrl(returnUrl))
                    {
                        return(Redirect(returnUrl));
                    }
                    else
                    {
                        return(RedirectToRoute("Manager"));
                    }
                }

                ModelState.AddModelError(string.Empty, "Thông tin đăng nhập không hợp lệ.");
            }

            return(View(logInDTO));
        }
Exemplo n.º 9
0
 public bool LogIn(LogInDTO data)
 {
     return(false);
 }
Exemplo n.º 10
0
 /// <inheritdoc />
 public bool LogIn(LogInDTO data)
 {
     return(_webSecurityWrapper.LogIn(data));
 }
Exemplo n.º 11
0
 /// <inheritdoc />
 public bool LogIn(LogInDTO data)
 {
     return(WebSecurity.Login(data.UserName, data.Password, data.RememberMe));
 }
Exemplo n.º 12
0
        /*
         * public async Task<IdentityResult> DeleteUserAsync(NhanVienDTO nhanvienDto)
         * {
         *  var user = await _userManager.FindByEmailAsync(nhanvienDto.Email);
         *
         *  var result = await _userManager.DeleteAsync(user);
         *  return result;
         * }
         */

        public async Task <SignInResult> PasswordSignInAsync(LogInDTO logInDTO)
        {
            return(await _signInManager.PasswordSignInAsync(logInDTO.Email, logInDTO.Password, logInDTO.RememberMe, true));
        }
Exemplo n.º 13
0
        public async Task <bool> LogIn(LogInDTO dto)
        {
            var result = await _signInManager.PasswordSignInAsync(dto.UserName, dto.Password, dto.isPersistent, false);

            return(result.Succeeded);
        }