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

发布于 2022-09-07 21:08:14 字数 1026 浏览 23 评论 0

我現在遇到一個問題
當使用者點了一個連結之後到登入頁面,我會在網址加上他登入之前的網址例如

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

然後再登入頁面理所當然會讓使用者選擇要臉書登入或EMAIL登入
所以點下去的連結會是

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

這個連結的產生是 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產生的網址結構完全插不進去
而且在 login-callback.php 驗證成功後才能判斷是否有 $_GET['request']

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

眼眸里的那抹悲凉 2022-09-14 21:08:14

麻烦 var_dump($loginUrl)

说下oauth授权流程

  1. 网站构造oauth2.0授权链接并重定向到facebook登录页
  2. 用户同意登录后facebook带上code重定向到第1步中的callback链接
  3. callback链接中获取code加上appid和secret请求facebook获得用户access_token
  4. 使用用户access_token请求用户数据

你可以说一下现在是卡在第几步

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文