Laravel社交网站一直将我重定向到家

问题描述:

我想安装Linkedin &使用Laravel社交网站为我的Laravel 5/Angular 2网站进行Google登录。Laravel社交网站一直将我重定向到家

社会名流提供商和别名正确插入config/app.php文件

这是我在config/services.php文件插入代码

'linkedin' => [ 
    'client_id' => '[hidden-linkedin-client-id]', 
    'client_secret' => '[hidden-linkedin-client-secret]', 
    'redirect' => 'http://localhost:8888/profile', 
], 

'google' => [ 
    'client_id' => '[hidden-google-client-id]', 
    'client_secret' => '[hidden-google-client-secret]', 
    'redirect' => 'http://localhost:8888/profile', 
], 

这里是我创造的路线......

Route::get('/auth/{provider}', 'Auth\[email protected]'); 
Route::get('/auth/{provider}/callback', 'Auth\[email protected]'); 

...以及相关功能Http/Controllers/Auth/AuthController.php

public function redirectToProvider($provider) 
{ 
    Log::info('redirecting'); 
    return Socialite::driver($provider)->redirect(); 
} 

public function handleProviderCallback($provider) 
{ 
    $user = Socialite::driver($provider)->user(); 

    return $user->token; 
} 

然后,当我导航到http://localhost:8888/auth/githubhttp://localhost:8888/auth/linkedin时,它会一直将我重定向到http://localhost:8888而没有任何日志。我哪里做错了?

+0

你是否尝试在'redirectToProvider'函数中放置'dd(“here ..”)'? –

+0

@ K.Toress谢谢你的帮助。刚试过'Log :: info('redirecting')',实际上我没有看到任何日志。这里有什么可能是错的? –

+0

然后重定向发生在命中控制器功能之前,如果它没有太大的话可以发布你的routes.php文件吗? –

更新配置社会重定向,检查下面: -

'linkedin' => [ 
    'client_id' => '[hidden-linkedin-client-id]', 
    'client_secret' => '[hidden-linkedin-client-secret]', 
    'redirect' => 'http://localhost:8888/auth/linkdin/callback', 
], 

'google' => [ 
    'client_id' => '[hidden-google-client-id]', 
    'client_secret' => '[hidden-google-client-secret]', 
    'redirect' => 'http://localhost:8888/auth/google/callback', 
], 

和重定向功能应该是这样的: -

public function redirectToProvider(){ 
    try{ 
    Log::info('redirecting'); 
    return Socialite::driver(\Request::segment(2))->redirect(); 
    }catch(\Exception $e){ 
    Log::info('Exception in redirect'); 
    } 
} 

非常感谢你的帮助,但没有答案的实际工作因为没有调用redirectToProvider()函数。

所以我一直在我最初的代码,并最终使其工作在中间件Middleware/RedirectIfAuthenticated.php评论这些行:

public function handle($request, Closure $next, $guard = null) 
    { 
     /* 
      if (Auth::guard($guard)->check()) { 
       return redirect('/'); 
      } 
     */ 
     return $next($request); 
    } 

这显然是一种解决方法,但这是我还没有找到最佳的解决方案。