Exemplo n.º 1
0
        public async Task <IActionResult> GenerateToken([FromBody] TokenLoginViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = await _userManager.FindByEmailAsync(model.Email);

                if (user != null)
                {
                    var result = await _signInManager.CheckPasswordSignInAsync(user, model.Password, false);

                    if (result.Succeeded)
                    {
                        var claims = new[]
                        {
                            new Claim(JwtRegisteredClaimNames.Sub, user.Email),
                            new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()),
                        }.Union(User.Claims);

                        var key         = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config["Tokens:Key"]));
                        var credentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);

                        var token = new JwtSecurityToken(
                            _config["Tokens:Issuer"],
                            _config["Tokens:Issuer"],
                            claims,
                            expires: DateTime.Now.AddDays(1),
                            signingCredentials: credentials);

                        return(Ok(new { token = new JwtSecurityTokenHandler().WriteToken(token) }));
                    }
                }
            }

            return(BadRequest("Could not create token."));
        }
Exemplo n.º 2
0
 private bool ValidarUsuario(TokenLoginViewModel login)
 {
     if (login.Usuario == "project" && login.Senha == "api#21@")
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Exemplo n.º 3
0
        public IActionResult Login([FromBody] TokenLoginViewModel login)
        {
            bool resultado = ValidarUsuario(login);

            if (resultado)
            {
                var tokenString = GerarToken();
                return(Ok(new TokenRetornoViewModel {
                    Token = tokenString, DataTokenGerado = DateTime.Now
                }));
            }
            else
            {
                return(Unauthorized());
            }
        }