Exemple #1
0
        private async Task <LaMinka.Logica.Model.Cliente> AuthenticateUser(LaMinka.Logica.Model.Cliente login)
        {
            var cliente = await _servicioCliente.GetByEmailAndPassword(login.Email, login.Password);

            if (cliente != null)
            {
                return(cliente);
            }
            else
            {
                return(null);
            }
        }
Exemple #2
0
        public async Task <IActionResult> Login([FromBody] LaMinka.Logica.Model.Cliente login)
        {
            IActionResult response = Unauthorized();
            var           user     = await AuthenticateUser(login);

            if (user != null)
            {
                var tokenString = GenerateJSONWebToken(user);

                response = Ok(new { token = tokenString, user = user });
            }

            return(response);
        }
Exemple #3
0
        private string GenerateJSONWebToken(LaMinka.Logica.Model.Cliente userInfo)
        {
            var            securityKey    = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config["Jwt:Key"]));
            var            credentials    = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256);
            ClaimsIdentity claimsIdentity = new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, userInfo.Email) });

            var token = new JwtSecurityTokenHandler().CreateJwtSecurityToken(_config["Jwt:Issuer"],
                                                                             _config["Jwt:Issuer"],
                                                                             subject: claimsIdentity,
                                                                             notBefore: DateTime.UtcNow,
                                                                             expires: DateTime.UtcNow.AddMinutes(Convert.ToInt32(120)),
                                                                             signingCredentials: credentials);

            Console.WriteLine(token);
            return(new JwtSecurityTokenHandler().WriteToken(token));
        }