Laravel 5,1 - Socialite - Recogida del usuario

votos
0

El uso oficial laravel Docs 5.1 - Destacado en la sociedad , puse mis enrutado y editado mi AuthController.

   public function redirectToProvider()
   {  
      return Socialite::driver('facebook')
         ->scopes(['public_profile', 'email'])->redirect();
   }

Funciona perfectamente y vuelve http://domain.dev/auth/facebook/callback?code=AQDLFlYr...

Luego utiliza la jet Laracasts' - laravel 5.0 , he intentado cambiar mi uno en una autenticación apropiada Facebook. Hice todo hasta que ( min. 12.11 , específicamente) en el video. (Al 12.11 que recapitula las cosas en 15 segundos). Esto es lo que estoy tratando de hacer.


Ahora, cuando me cambie de AuthControllera:

  public function redirectToProvider(AuthenticateUser $authenticateUser, Request $request)
  {  
     return $authenticateUser->execute($request->has('code'));

  } 

... y tengo mi AuthenticateUser classde esta manera:

use Illuminate\Contracts\Auth\Guard;  (PS. I changed Authenticator to Guard)

  class AuthenticateUser {
       private $users;
       private $socialite;
       private $auth;

    public function __construct(UserRepository $users, Socialite $socialite, Guard $auth)
    {

      $this->users = $users;
      $this->socialite = $socialite;
      $this->auth = $auth;
    }

    public function execute($hasCode)
    {   
      // dd($hasCode) *First dd

      if ( ! $hasCode) return $this->getAuthorizationFirst();

      $user = $this->socialite->driver('facebook')->user();

      // dd($hasCode) *Second dd
      // dd($user) *Third dd
    }

    private function getAuthorizationFirst()
    {
      return $this->socialite->driver('facebook')
         ->scopes(['public_profile', 'email'])->redirect();
    } 
  }

*UserRepository is currently empty.


Cuando uso *First dd, recibo Falseen la pantalla.

Cuando uso *Second dd, recibo True.

Cuando uso *Third dd, recibo nada.

En todos estos casos, ahora, que estoy recibiendo http://domain.dev/auth/facebook?code=9329409329042.


Editar:

  • He añadido returny ahora el enlace incluye ?code=9390249032..., sin embargo cuando utilizo *Third dd- dd($user), todavía nada se volvió

  • Me las arreglé para llegar hasta aquí:

        public function execute($hasCode)
    {
    
             dd($hasCode); // returns FALSE now     
    if ( ! $hasCode) return $this->getAuthorizationFirst();
    
             dd($hasCode); // returns TRUE now
    
        $user = $this->socialite->driver('facebook')->user();
    
            dd($user);  // BUT STILL RETURNS NOTHING
    
     }
    

.. y enlace incluye ?code=9943290...

  • Básicamente, $user = $this->socialite->driver('facebook')->user();es la parte que no trabaja / conversión como dd ($ usuario) no devuelve nada ..

Publicado el 23/07/2015 a las 01:03
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
1

Parece que es posible que haya olvidado el retorno.

return $authenticateUser->execute($request->has('code'));

introducir descripción de la imagen aquí

Respondida el 23/07/2015 a las 01:47
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more