首页 文章

Facebook原生移动应用和移动浏览器共享会话

提问于
浏览
7

我有一个网站,允许通过Facebook功能登录,并显示Facebook的照片 .

从移动浏览器访问时,如果用户已通过本机FB应用程序(iOS或andriod)登录,我希望网站自动登录(当点击FB登录按钮时,无需输入用户名和密码) . 似乎我可以通过构建原生iOS或Android应用程序并使用Facebook单点登录功能来做到这一点 . 没有用户在移动设备上安装任何东西,是否可以这样做?

4 回答

  • 2

    这是不可能的 .

    自动登录依赖于在用户批准应用后将授予网站或移动应用的授权令牌 . 出于安全原因,这些令牌对于它们被发出的原因是紧张的 . 特别是,网络令牌和移动令牌不可互换 .

    因此,您可以构建一个本机移动应用程序来获取“本机令牌”,但即使您设法(cookie-)将其注入浏览器视图,您的网站的后端也无法使用它 .

    更一般地说,你提出一个问题,即使Facebook无法解决:假设您正在使用Facebook移动应用程序并登录 . 如果您在同一部手机上打开Facebook的网络版,则必须再次登录 . 根本原因与上述相同 . 具体来说,任何本机应用程序都无法将任意auth cookie设置到OS浏览器中 . 我个人认为这种限制不会下降,因为它会产生很大的安全影响 - 想象一下任何应用程序如何设置(并可能获得)任何网站的cookie .

  • 3

    如果他们从未通过手机登录Facebook,您的网站将如何了解他们?

    如果用户不在移动设备上安装任何东西,是否可以这样做?

    与PC一样,移动设备中的用户需要在Facebook的网站上登录他们的手机才有资格“自动”登录到您的网站 . 当我自动说,我的意思是他们仍然必须首次使用“您是否授权此应用程序/网站在您的帐户上执行X操作” . 在网上使用facebook的api时,这个消息是不可避免的 .

    希望这能回答你的问题 .

  • 2

    如果用户不在移动设备上安装任何东西,是否可以这样做?

    不,这是不可能的 . 你需要有一个原生或混合应用程序(phonegapped等),使其工作 . 移动Web应用程序在浏览器沙箱中运行,没有本机代码接口 - 您无法在移动设备上访问FB的本机SSO

  • 1

    你看过这个facebook page了吗?我在那里有一些线索 .

相关问题