繁体   English   中英

如何使用facebook-> getLoginStatusUrl()?

[英]How do I use facebook->getLoginStatusUrl()?

我目前将用户重定向到给定的url,它使用2个get参数将用户返回到网页:“ session”和“ perms”。

烫发的含义很明显。

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

谢谢!

sdk使用该会话信息为您验证数据。 您需要做的就是调用$ facebook-> getUser()并检查您是否获得了用户ID。

$ next_url = $ facebook-> getLoginStatusUrl($ params); 检索fb用户登录状态

据我了解, 状态URL用于确定用户的状态。 如果您对生成的状态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

跟着这些步骤:

  1. 您生成一个URL:$ next_url = $ facebook-> getLoginStatusUrl();
  2. 将用户重定向到以下网址:header('Location:'。$ next_url);
  3. FB将为用户返回有关登录状态的会话信息
  4. SDK将解析返回的信息
  5. 使用$ facebook-> getUser(); 获取access_token和userid(如果已登录)

到现在为止还挺好。 唯一的问题是,自从Facebook API转换为oAuth2.0以来,此功能(第4点)已损坏,另请参见以下错误报告: http : //developers.facebook.com/bugs/295348980494364返回的$ _GET ['session ']在新的oAuth2.0 SDK中没有用,它在旧的PHP-SDK v2(当前为3.1.1)中使用。

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

干杯!

暂无
暂无

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

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