这可能是一个非常愚蠢的问题,但我有点困惑。在用户允许对我的应用程序的权限后,是否仍然需要让用户在每次关闭并重新打开浏览器后单击Facebook->getLoginUrlURL?
$Facebook->getUser(); 函数在重新打开 Web 浏览器后不会自动返回 facebook 用户。有没有办法避免再次访问登录网址?
或者这只是该过程的工作方式,我仍然需要设置 cookie 以供将来识别?
您可以使用 Facebook SDK 查看用户的登录状态。
具体来说,您可以检查他们是否登录了Facebook,以及他们之前是否登录过您的应用程序。
根据Facebook文档,您可以通过几种不同的方式执行此操作:
-
设置状态:初始化 SDK 并订阅 auth.authResponseChange 事件时为 true
-
具体调用FB.getLoginStatus函数。
响应对象:
{ 状态:"已连接",
身份验证响应:{
访问令牌: '...',
过期在:"...",
签名请求:"....",
用户 ID:"..."
}
}
以下是Facebook文档的链接:https://developers.facebook.com/docs/facebook-login/login-flow-for-web/#checklogin