2016-08-29 1 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 옵션을 통해 가능 가서 앱을 공개하고 전체

내 주요 포인트는 당신이 좀 작은을 옆에 확인 모든 것을 가지고있다 승인 기준을 채우기 Facebook 대시 보드 앱의 개발자 대시 보드 변경 사항.

+0

나는 응용 프로그램 검토 섹션을 확인하지만, 공공, 그리고 페이스 북의 로그인 설정에서, 콜백이 올바른지 - http://www.example.com/facebook/callback – amchart

관련 문제