Example #1
0
        public async Task <IActionResult> Login([FromBody] UserForLoginModel user)
        {
            var userFromDatabase = await _service.Login(user.Username, user.Password);

            if (userFromDatabase == null)
            {
                return(Unauthorized());
            }
            var claims = new[]
            {
                new Claim(ClaimTypes.NameIdentifier, userFromDatabase.UserId.ToString()),
                new Claim(ClaimTypes.Name, userFromDatabase.Username)
            };
            var key              = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config.GetSection("AppSettings:Token").Value));
            var creds            = new SigningCredentials(key, SecurityAlgorithms.HmacSha512Signature);
            var tokenDescription = new SecurityTokenDescriptor
            {
                Subject            = new ClaimsIdentity(claims),
                Expires            = DateTime.Now.AddDays(1),
                SigningCredentials = creds
            };
            var tokenHandeler = new JwtSecurityTokenHandler();
            var token         = tokenHandeler.CreateToken(tokenDescription);

            return(Ok(new
            {
                token = tokenHandeler.WriteToken(token)
            }));
        }
        public async Task <User> Login(UserForLoginModel userModel)
        {
            User user = await userRepository.GetAsync(x => x.UserName == userModel.username.ToLower());

            if (user != null)
            {
                if (VerifyPassword(userModel.password, user.PasswordHash, user.PasswordSalt))
                {
                    return(user);
                }
            }
            return(null);
        }
        public async Task <IActionResult> Login([FromBody] UserForLoginModel userForLogin)
        {
            var user = await _service.Login(userForLogin.Username, userForLogin.Password);

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

            var tokenString = _service.AuthTokenHandler(user.UserID.ToString(), user.Username, user.UserRole);

            return(Ok(new { Jwt = tokenString, user, userForLogin.RememberMe }));
        }
        public IActionResult Login(UserForLoginModel request)
        {
            var url    = "https://news-fpt-api.azurewebsites.net/api/Users/LoginAdmin";
            var json   = JsonConvert.SerializeObject(request);
            var result = api.SendAsyncJson(url, json, false);

            Debug.WriteLine(result);
            var error = "";

            if (result.Result == "")
            {
                return(RedirectToAction("Index", "News"));
            }
            else
            {
                error = "Username or password is incorrect !  ";
            }
            return(RedirectToAction("Index", error));
        }
Example #5
0
        public async Task <ActionResult> Login(UserForLoginModel userModel)
        {
            var user = await userManager.Login(userModel);

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


            var claims = new[] {
                new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()),
                new Claim(ClaimTypes.Name, user.UserName)
            };

            //here creating token
            var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config.GetSection("AppSettings:Token").Value));

            var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha512Signature);

            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject            = new ClaimsIdentity(claims),
                Expires            = DateTime.Now.AddDays(10),
                SigningCredentials = creds
            };

            var tokenHandler = new JwtSecurityTokenHandler();

            var token = tokenHandler.CreateToken(tokenDescriptor);

            //here gives a token as return
            return(Ok(new
            {
                token = tokenHandler.WriteToken(token)
            }));
        }