我有一个Facebook页面标签应用程序。对于未登录的用户,我想:
- 检测用户是否未登录
- 如果未登录,则自动引导用户登录
我目前的方法是使用FB Javascript SDK(优先于服务器端身份验证流程):
- 在页面加载时,运行
FB.getLoginStatus
以检查用户状态 - 如果用户未登录,请运行
FB.login
以调用 OAuth 对话框
问题:
-
FB.login
创建一个弹出对话框(如果在页面选项卡 iframe 中首选) - 如果未从按钮调用
FB.login
则此弹出对话框将被阻止(我真的很想避免让用户单击按钮;因此,当我找到未登录的用户时,我真的很想自动调用它)
我真的很想避免让用户单击按钮
FB.登录无需用户交互 ->被阻止的弹出窗口
首选,如果在页面选项卡 iframe 中
身份验证对话框在 iframe 中不起作用,它是这样设计的。
如果自动调用登录对话框是您最重要的要求 - 那么使用 JavaScript 重定向到身份验证对话框 URL,然后重定向回您的页面/应用程序 Facebook 地址。请参阅此处的"没有 JS SDK 的客户端身份验证"部分:https://developers.facebook.com/docs/authentication/client-side/