繁体   English   中英

如何重定向用户以登录到Facebook,并使他们回到同一位置?

[英]How to redirect the user to login to facebook and have them come back to the same place?

我有一个仪表板功能,需要Facebook登录。 如果令牌已过期,我会抓住。

到目前为止,还不错 ,我希望用户退出登录并回到同一位置。

这是代码:

try {
    //make FB client
    $fb = new Facebook( [
        'app_id'                => config( 'app.FACEBOOK_APPID' ),
        'app_secret'            => config( 'app.FACEBOOK_APPSECRET' ),
            'default_graph_version' => 'v2.8',
    ] );

    //Pull events realted to this user
    $events      = $fb->get( $endpoint, $accessToken )->getDecodedBody();

//catch exception if token is expired
} catch ( FacebookSDKException $e ) {
    //redirect to facebook login
    return redirect()->action('Auth\SocialiteLoginController@redirectToProvider', ['facebook']);
}
return $events;

我的问题是return redirect()语句不会将用户重定向到Facebook,但是会将RedirectResponse对象发送回调用函数。

更好地使用社交名流将处理对象。

重定向到Facebook驱动程序

 return Socialite::driver('facebook')->redirect();

需要在.env,facebook凭证页面和本地路由页面中声明facebook重定向URL。

public function handleFacebookCallback(Request $request){
     $AccessToken = Socialite::driver('facebook')->getAccessTokenResponse($request->code);
        if($token = $AccessToken['access_token']){
                $facebook =Socialite::driver('facebook')->userFromToken($token);

        if($facebook->id){ 
        //insert process and get auth userkey 
        redirect('/login page');
         }else{
        redirect('/dashboard');  //not auth user
        }
     }
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM