public async Task <IActionResult> Post([FromBody] LoginRequest message)
        {
            if (ModelState.IsValid)
            {
                var usuario = new Usuario(message.Email, message.Password);
                var auth    = await _usuarioRepositorio.BuscarUsuario(usuario.Email, usuario.Password);

                if (auth != null)
                {
                    ClaimsIdentity identity = new ClaimsIdentity
                                              (
                        new GenericIdentity(auth.Email, "Login"),
                        new[]
                    {
                        new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString("N")),
                        new Claim(ClaimTypes.Name, auth.Email),
                        new Claim("Id", auth.Id.ToString()),
                        new Claim(ClaimTypes.Role, auth.PerfilDeAcesso),
                    }
                                              );

                    DateTime dataCriacao = DateTime.Now;

                    var handler       = new JwtSecurityTokenHandler();
                    var securityToken = handler.CreateToken(new SecurityTokenDescriptor
                    {
                        Issuer             = tokenConfigurations.Issuer,
                        Audience           = tokenConfigurations.Audience,
                        SigningCredentials = signingConfigurations.SigningCredentials,
                        Subject            = identity,
                        NotBefore          = dataCriacao,
                        Expires            = null
                    });
                    var token = handler.WriteToken(securityToken);

                    var resultado = new
                    {
                        user = new
                        {
                            _id      = auth.Id,
                            name     = auth.Nome,
                            document = auth.PerfilDeAcesso,
                            email    = auth.Email
                        },
                        authenticated = true,
                        created       = dataCriacao.ToString("yyyy-MM-dd HH:mm:ss"),
                        token         = token,
                        message       = "OK"
                    };
                    return(Json(resultado));
                }
                return(BadRequest("Dados Inválidos!"));
            }
            return(BadRequest("Formulario Inválido!"));
        }
Esempio n. 2
0
        public ActionResult BuscarUsuarioPorCpfESenha(BuscarUsuario buscarUsuario)
        {
            var usuario = _usuarioRepositorio.BuscarUsuario(buscarUsuario);

            return(Json(usuario));
        }
        public Usuario BuscarUsuarioAutenticado(Usuario usuario)
        {
            Usuario usuarioEncontrado = repositorio.BuscarUsuario(usuario);

            return(usuarioEncontrado);
        }
Esempio n. 4
0
        public Usuarios ValidarLogin(Usuarios Usuario)
        {
            Usuarios UsuarioEncontrado = _usuarioRepositorio.BuscarUsuario(Usuario);

            return(UsuarioEncontrado);
        }