我最近在我的网站上实施了 Facebook Connect。到目前为止一切正常。当用户访问我的网站(不是通过 Facebook 应用程序)并点击 FB Connect 按钮时,他将登录。没有实现自动登录,因此返回用户每次都可以自己决定是否要连接我的网站与否,并拥有完全控制权。
但如果有人在 Facebook 上使用我的 Facebook 应用程序,我希望他自动登录,因为先登录我的网站没有意义。
有人对如何做到这一点有一个好主意吗?
听起来您可以只检查 signed_request 参数,当您的页面在 Facebook 框架中加载时,该参数(如果您在应用程序设置中配置)将自动发送。解码将为您提供用户 ID,然后您也可以使用该用户 ID 将他登录到您的网站。
我实际上和新手有同样的问题。我刚刚使用我的 php 脚本中的 html 将页面重定向到 facebook 应用程序登录页面。
// if not logged in
$loginUrl = $facebook->getLoginUrl();
echo '<head>
<meta http-equiv="Refresh"
content="0;url='.$loginUrl.'"/>
</head>';
我使用 fb API 获得了正确的 facebook 应用程序登录页面,然后我只是将用户重定向到该页面。一旦他们登录,他们就会被 fb 自动转移回我的应用程序。可能有一些内置的 fb API 功能可以做得更好,但我一直找不到。