鍍金池/ 問答/PHP  網(wǎng)絡(luò)安全/ 臉書登入時(shí),我要怎麼帶使用者回到登入前頁面?如何丟值給臉書?

臉書登入時(shí),我要怎麼帶使用者回到登入前頁面?如何丟值給臉書?

我現(xiàn)在遇到一個(gè)問題
當(dāng)使用者點(diǎn)了一個(gè)連結(jié)之後到登入頁面,我會(huì)在網(wǎng)址加上他登入之前的網(wǎng)址例如

https://ha.xyz.com/signin?request=https://ha.xyz.com/products/121111

然後再登入頁面理所當(dāng)然會(huì)讓使用者選擇要臉書登入或EMAIL登入
所以點(diǎn)下去的連結(jié)會(huì)是

https://www.facebook.com/v3.0/dialog/oauth?client_id=xxx&state=aaa&response_type=code&sdk=php-sdk-5.6.2&redirect_uri=https%3A%2F%2Fha.xyz.com%2F%2Fvendor%2Fsdk%2Ffacebook%2Flogin-callback.php&scope=email

這個(gè)連結(jié)的產(chǎn)生是 facebook 的 oauth

require_once '/vendor/autoload.php';

  $fb = new Facebook\Facebook([
  'app_id' => 'xxx',
  'app_secret' => 'aaa',
  'default_graph_version' => 'v3.0',
  ]);

  $helper = $fb->getRedirectLoginHelper();

  $permissions = ['email'];

$loginUrl = $helper->getLoginUrl(''.$host_url.'/vendor/sdk/facebook/login-callback.php', $permissions);

這問題就是我要怎麼給他request
$loginUrl產(chǎn)生的網(wǎng)址結(jié)構(gòu)完全插不進(jìn)去
而且在 login-callback.php 驗(yàn)證成功後才能判斷是否有 $_GET['request'] !

回答
編輯回答
瞄小懶

麻煩 var_dump($loginUrl)

說下oauth授權(quán)流程

  1. 網(wǎng)站構(gòu)造oauth2.0授權(quán)鏈接并重定向到facebook登錄頁
  2. 用戶同意登錄后facebook帶上code重定向到第1步中的callback鏈接
  3. callback鏈接中獲取code加上appid和secret請(qǐng)求facebook獲得用戶access_token
  4. 使用用戶access_token請(qǐng)求用戶數(shù)據(jù)

你可以說一下現(xiàn)在是卡在第幾步

2017年11月15日 10:18