Example #1
0
        public IActionResult Login([FromBody] LoginModel loginModel)
        {
            try
            {
                LoginDAO loginDAO = new LoginDAO(_connection);
                var      user     = loginDAO.Authenticate(loginModel.Email, loginModel.Password);

                if (user == null)
                {
                    return(BadRequest(new ErrorExceptionModel("Username ou password incorreto(s)")));
                }

                var tokenHandler    = new JwtSecurityTokenHandler();
                var key             = Encoding.ASCII.GetBytes(_secret);
                var tokenDescriptor = new SecurityTokenDescriptor
                {
                    Subject = new ClaimsIdentity(new Claim[]
                    {
                        new Claim(ClaimTypes.SerialNumber, user.Id.ToString()),
                        new Claim(ClaimTypes.Email, user.Email.ToString())
                    }),
                    Expires            = DateTime.UtcNow.AddHours(1),
                    SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
                };

                var token       = tokenHandler.CreateToken(tokenDescriptor);
                var tokenString = tokenHandler.WriteToken(token);

                return(Ok(new { token = tokenString }));
            }
            catch (Exception ex)
            {
                return(BadRequest(new ErrorExceptionModel(ex.Message)));
            }
        }
Example #2
0
        public IActionResult Login([FromBody] LoginModel loginModel)
        {
            try {
                LoginDAO loginDAO = new LoginDAO(_connection);
                var      user     = loginDAO.Authenticate(loginModel.Email, loginModel.Password);

                if (user == null)
                {
                    return(BadRequest(new ErrorMessageModel("Username ou password incorreto(s)")));
                }

                JwtTokenHelper tokenHelper = new JwtTokenHelper(_connection);
                ResponseTokens response    = tokenHelper.Authenticate(_secret, user);

                return(Ok(response));
            } catch (Exception e) {
                return(BadRequest(new ErrorMessageModel(e.Message)));
            }
        }