Jump to content
ragnaproxy

Login pelo facebook

Recommended Posts

Pessoal estou com sistema de login pelo facebook, porem estou com um erro. Apos clica em entrar pelo facebook e autorizar aplicativo, quando volta pro site aparece esse erro:

2jLbHnZ.png

Codigo do erro:

 

  public function facebook()
    {
        $facebook = $this->socialauthRepository->facebook();
        $user = $facebook->getUser();

        //try get the user profile
        try {
            $userProfile = $facebook->api('/me');
        } catch(\FacebookApiException $e) {
            $user = null;
        }

        if ($user) {

            $needEdit = false;

            if (empty($userProfile['email'])) {
                $needEdit = true;
            }

            $username = \Str::slug($userProfile['name']);
            $username = str_replace([' ','.', '-'], ['','', ''], $username);



            $details = [
                'fullname' => $userProfile['first_name']. ' '. $userProfile['last_name'],
                'genre' => $userProfile['gender'],
                'country' => '',
                'email_address' => (isset($userProfile['email'])) ? $userProfile['email'] : '',
                'password' => time(),
                'username' => $username,
                'auth' => 'facebook',
                'authId' => $userProfile['id'],
                'avatar' => ''
            ];

            try{
                ini_set('user_agent', 'Mozilla/5.0');
                $avatar = json_decode(file_get_contents('https://graph.facebook.com/'.$userProfile['id'].'/picture?redirect=false&width=600&height=600'), true);

                if ($avatar and isset($avatar['data']['url'])) {
                    $avatar = $avatar['data']['url'];
                    $details['avatar'] = $avatar;
                }
            } catch(\Exception $e){}

            return $this->socialauthRepository->register($details);

        } else {
            $url = $facebook->getLoginUrl(['scope' => 'email']);

            return \Redirect::to($url);
        }
    }



 

Share this post


Link to post
Share on other sites

Índice não existe

 

 

faça um debug e veja o que trás no array

 

dd($userProfile)

OR

echo "<pre>";
print_r($userProfile);
echo "</pre>";

 

Share this post


Link to post
Share on other sites

Já ativou o aplicativo?

 

Autorizou a URL?

Verificou na documentação do Facebook se aceita URL http://localhost/...... ?

 

 

pois o debug tem que ser feito dentro do escopo

 

if ($user) { 

...    -->>>>>>>>>>> Aqui


}


 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By milokoz
      Basicamente eu estou com um leve problema:
      Warning: mysqli_error() expects exactly 1 parameter, 0 given in C:\xampp\htdocs\_config\classes\class.MySQL.php on line 17
      Não foi possível encontrar o banco de dados "test".
      A DB está criada no PHP 
      http://prntscr.com/p5epzn

      e esta nomeada corretamente
      # Definições e conexão com à DATABASE
      define("DB_HOST", "localhost");
      define("DB_PORT", "3303");
      define("DB_USER", "root");
      define("DB_PASS", "");
      define("DB_NAME", "test");
    • By makioplayer
      A pressão da minha mesa não está funcionando apenas no Paint Tool SAI, alguém sabe o que pode ser?
       
      Ela é uma Genius mousepen i608x.
    • By darkside88
      Esse é meu código porém não está exibindo dentro dos inputs as informações recuperadas da página EDITAR nos campos! <?php //ini_set('display_errors', 0); include('conexao/connection.php'); session_start(); $cli_codigo = intval($_GET['usuario']); if(isset($_POST['confirma'])){     //Registrar Dados     if(!isset($_SESSION))         session_start();       foreach($_POST as $chave=>$valor)         $_SESSION[$chave] = $con->real_escape_string($valor);       //Validar     if (strlen($_SESSION['nome']) == 0)     $erro[] = "Preencha o campo Nome";            if (strlen($_SESSION['wpp']) == 0)     $erro[] = "Preencha o campo WhatsApp";       if (strtotime($_SESSION['dt1']) > strtotime($_SESSION['dt2']) || strtotime($_SESSION['dt1']) == strtotime($_SESSION['dt2']))     $erro[] = "A Data de Criação no IPTV deve ser menor que a Data de Vencimento no IPTV ou não podem ser iguais";           //Inserir       if(count($erro) == 0){         $sql_code = "UPDATE cadastrocliente set             nomecli = '$_SESSION[nome]',             email = '$_SESSION',             wpp = '$_SESSION[wpp]',             srv = '$_SESSION[srv]',              srv = '$_SESSION[dt1]',                         dataVI = '$_SESSION[dt2]',             app = '$_SESSION[app]'             WHERE nomecli = '$cli_codigo'";         $confirma = $con->query($sql_code) or die($con->error);         if($confirma){             unset(                 $_SESSION[nome],                 $_SESSION,                 $_SESSION[wpp],                 $_SESSION[srv],                 $_SESSION[dt1],                 $_SESSION[dt2],                 $_SESSION[app]                          );                         header("Location: index.php?p=listarcliente");         }else{             $erro[] = $confirma;         }     }else{         $sql_code = "SELECT * FROM cadastrocliente WHERE id_cliente= '$cli_codigo'";         $sql_query = $con->query($sql_code) or die($con->error);         $linha = $sql_query->fetch_assoc();           $_SESSION[nome] = $linha['nomeCli'];         $_SESSION = $linha['email'];         $_SESSION[wpp] = $linha['wpp'];         $_SESSION[srv] = $linha['srv'];         $_SESSION[srv] = $linha['dt1'];         $_SESSION[dt2] = $linha['dt2'];         $_SESSION[app]  = $linha['app'];     } }   ?> <?php   if (count($erro) > 0) {     echo "<div class='alert alert-danger'>";     foreach ($erro as $valor)         echo "$valor <br>";          echo "</div>";}  ?> <form class="container-fluid" action="index.php?p=editar&usuario=<?php echo $cli_codigo?>" method="POST">     <label for="nome">Nome do Cliente</label>     <input type="text" name="nome" value="<?php echo $_SESSION[nome]?>" class="form-control" placeholder="Nome Completo do Cliente">     <label for="email">Email</label>     <input type="email" name="email" value="<?php echo $_SESSION?>" class="form-control" placeholder="nome@exemplo.com">     <label for="mensagem">WhatsApp</label>     <input type="text" name="wpp" value="<?php echo $_SESSION[wpp]?>" class="form-control" placeholder="Digite o seu Whatsapp (DD) 9 XXXX-XXXX"         id="celular" name="mensagem">     <script type="text/javascript">     $("#telefone,#celular").mask("(00) 0 0000-0000");     </script>     <label for="srv">Servidor do Cliente</label>     <input type="text" name="srv" value="<?php echo $_SESSION[wpp]?>" class="form-control" placeholder="Servidor do Cliente">     <label for="dt1">Data de Criação no IPTV</label>     <input type="date" value="<?php echo $_SESSION[dt1]?>" data- provide="datepicker" name="dt1" class="form-control">     <label for="dt2">Data de Vencimento no IPTV</label>     <input type="date" name="dt2" value="<?php echo $_SESSION[dt2]?>" class="form-control">     <label for="app">App doCliente</label>     <input type="text" name="app" value="<?php echo $_SESSION[app]?>" class="form-control" placeholder="App do Cliente">     <input type="submit" name="confirma" class="form-control btn btn-dark mt-4 mb-4 " value="Cadastrar">   </form>
    • By eduardodsilvaq
      function efetuarLogin ($x, $y) { $connect = db_connect(); $queryl = $connect->query("SELECT * FROM usuarios WHERE login = ". $x ." AND senha = " . $y . " "); if ($queryl->rowCount() == 0) { echo $x; echo $y; echo "<script>alert('Dados de Login incorretos.'); history.back();</script>"; exit; } else { setcookie("login",$x); header("Location:index.php"); exit; } } Esse código tem algum erro nessa linha:
      $queryl = $connect->query("SELECT * FROM usuarios WHERE login = ". $x ." AND senha = " . $y . " "); Nao consigo validar o login mesmo que os dados estejam corretos. Alguém da uma ajuda? 
       
    • By Worn
      Fala rapaziada estou tendo alguma Warmi no meu sistema to batendo a cabeça aqui e não consigo resolver 
      https://prnt.sc/oqrcmy
       
      linha do erro
      <?php /* * Login Class * * Desenvolvido por Gabriel Neves * Seguir cotes de desenvolvimento * */ class Login { private $tabela, $campoID, $campoLogin, $campoSenha; function __construct($tabela = 'tbl_usuarios', $campoID = 'id', $campoLogin = 'email', $campoSenha = 'senha') { // Iniciando sessão session_start(); // Definindo atributos $this->tabela = $tabela; $this->campoID = $campoID; $this->campoLogin = $campoLogin; $this->campoSenha = $campoSenha; } // ------------------------------------------------------------------------ /* * Retornando login do usuário que está na sessão * * @access public * @return string */ function getLogin() { return $_SESSION[$this->campoLogin]; } // ------------------------------------------------------------------------ /** * Retornando ID do usuário que está na sessão * * @access public * @return integer */ function getID() { return $_SESSION[$this->campoID]; } // ------------------------------------------------------------------------ /** * Trata as informações recebidas, procura o usuário no banco de dados e, se encontrado, * registra as informações na sessão. * * @access public * @param string * @param string * @param string * @return boolean */ function logar($login, $senha, $redireciona = null) { // Tratando as informações $login = mysqli_real_escape_string($login); $senha = mysqli_real_escape_string($senha); // Verifica se o usuário existe $query = mysqli_query($conexao, "SELECT {$this->campoID}, {$this->campoLogin}, {$this->campoSenha} FROM {$this->tabela} WHERE {$this->campoLogin} = '{$login}' AND {$this->campoSenha} = '{$senha}'"); // Se encontrado um usuário if(mysqli_num_rows($query) > 0) { // Instanciando usuário $usuario = mysqli_fetch_object($query); // Registrando sessão $_SESSION[$this->campoID] = $usuario->{$this->campoID}; $_SESSION[$this->campoLogin] = $usuario->{$this->campoLogin}; $_SESSION[$this->campoSenha] = $usuario->{$this->campoSenha}; // Se informado redirecionamento if ($redireciona !== null) header("Location: {$redireciona}"); else return true; } else return false; } // ------------------------------------------------------------------------ /** * Verifica se o usuário está logado * * @access public * @param string * @return boolean */ function verificar($redireciona = null) { // Se as sessões estiverem setadas if(isset($_SESSION[$this->campoID]) and isset($_SESSION[$this->campoLogin]) and isset($_SESSION[$this->campoSenha])) return true; else { // Se informado redirecionamento if ($redireciona !== null) header("Location: {$redireciona}"); return false; } } // ------------------------------------------------------------------------ /** * Finaliza a sessão do usuário * * @access public * @param string * @return void */ function logout($redireciona = null) { // Limpa a Sessão $_SESSION = array(); // Destroi a Sessão session_destroy(); // Modifica o ID da Sessão session_regenerate_id(); // Se informado redirecionamento if ($redireciona !== null) header("Location: {$redireciona}"); } } ?>  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.