2016-08-29 23 views
1

我使用socialite/facebook進行了身份驗證。laravel facebook如果應用程序已經允許,則不會重定向返回

我的代碼 -

配置/ services.php:

'facebook' => [ 
    'client_id' => 'client_id', 
    'client_secret' => 'client_secret', 
    'redirect' => 'http://www.example.com/facebook/callback', 
], 

routes.php文件:

Route::get('facebook', '[email protected]'); 
Route::get('facebook/callback', '[email protected]'); 

FacebookController.php:

public function redirectToProvider() 
{ 
    return Socialite::with('facebook')->redirect(); 
} 

public function handleProviderCallback(Request $request, User $user) 
{ 
    $users = Socialite::with('facebook')->user(); 

    // user registration and login 
    // if the user is in the database, just login 

    return redirect()->back(); 
} 

一切正常,註冊,日誌並重定向到一點。

如果應用程序已被允許,它會正常重新導向。如果您首先通過Facebook進行身份驗證並允許該應用,則不會重定向。

然而,如果重定向網頁:

return redirect('/'); 

那麼它也能工作。

回答

0

所以我找到了解決辦法在這裏: http://laravel.io/forum/08-03-2014-redirect-to-the-second-last-page

我解決了代碼:

public function redirectToProvider() 
{ 
    // added this 
    Session::flash('url',$_SERVER['HTTP_REFERER']); 

    return Socialite::with('facebook')->redirect(); 
} 

public function handleProviderCallback(Request $request, User $user) 
{ 
    $users = Socialite::with('facebook')->user(); 

    // user registration and login 
    // if the user is in the database, just login 

    // redirect changed from redirect()->back(); to this 
    return Redirect::to(Session::get('url')); 
} 
0

選擇您的應用程序在https://developers.facebook.com並辦理App Review選項可在儀表板,使您的應用程序公開和充分填補了審批標準

我的主要觀點是,你必須在你身邊一切就OK了只是做一些小Facebook應用程序中開發人員儀表板上的更改。

+0

我查了應用程序審查部分,但它是公共的,並在Facebook登錄的設置,回調是正確的 - http://www.example.com/facebook/callback – amchart

相關問題