Php 如何使用facebook->;getLoginStatusUrl()?

Php 如何使用facebook->;getLoginStatusUrl()?,php,facebook,session,Php,Facebook,Session,我当前将用户重定向到给定的url,它将用户返回到带有两个get参数的网页:“session”和“perms” 烫发的意义是显而易见的 会话似乎是一个JSON斜杠转义数组。在json_解码(slashcstrip($_GET['session'])之后,我找到了以下成员:uid、session_key、secret、expires、base_domain、access_token、sig。什么是秘密和信号?我如何使用它们来验证数据 谢谢 sdk使用该会话信息为您验证数据。您只需调用$faceboo

我当前将用户重定向到给定的url,它将用户返回到带有两个get参数的网页:“session”和“perms”

烫发的意义是显而易见的

会话似乎是一个JSON斜杠转义数组。在json_解码(slashcstrip($_GET['session'])之后,我找到了以下成员:uid、session_key、secret、expires、base_domain、access_token、sig。什么是秘密和信号?我如何使用它们来验证数据


谢谢

sdk使用该会话信息为您验证数据。您只需调用$facebook->getUser()并检查是否返回了用户id。

$next\u url=$facebook->getLoginStatusUrl($params);根据我的理解,检索fb用户登录状态用于确定用户状态。如果您对生成的状态URL进行HTTP调用,facebook将根据用户状态重定向到其中一个重定向URL,您可以使用URL请求更新应用程序上的用户会话,并对用户状态采取处理操作

ok_session => user has facebook session -> start app
no_user    => unknown user, ask user to login
no_session => known user, ask to login
遵循以下步骤:

  • 生成一个url:$next_url=$facebook->getLoginStatusUrl()
  • 将用户重定向到此url:header('Location:'。$next_url)
  • FB将向用户返回有关登录状态的会话信息
  • SDK将解析返回的信息
  • 使用$facebook->getUser();获取访问令牌和用户ID(如果已登录)
  • 到目前为止还不错。 唯一的问题是,自从Facebook API转换到oAuth2.0以来,此函数(第4点)被破坏,另请参见此错误报告: 返回的$_GET['session']在新的oAuth2.0 SDK中没有用处,它在旧的PHP-SDK v2中使用过(当前为3.1.1)

    因此,请通过添加复制品让FB知道您有相同的问题


    干杯

    您使用的PHP-SDK版本是什么?PHP-SDK版本是3.1.1任何facebook PHP SDK代码(或任何其他代码)都不会调用函数getLoginStatuURL()。