我正在开发一个 Android 应用程序和一个网站(也与 Android 客户端进行通信)。我想使用 FB 登录,但我看到的问题是:
客户端,使用FB登录,然后获取access_token。
客户端和 Web 服务器如何仅使用此 access_code 进行通信,因为 Web 服务器需要知道客户端引用的是哪个帐户。我也想在网站上实现FB登录。
我想到的一种方法是:
客户登录:
1)使用FB登录并获取access_token。
2)使用access_token获取一些用户信息。
3) 将 access_token 和用户信息提供给 Web 服务器。
4) Web 服务器也使用 access_token 执行相同的 FB 操作并检索用户信息。
5) 验证用户信息匹配并据此确定用户帐户。
6) 在客户端和Web服务器之间为此链接建立另一个access_token。
这是否会使其更加有效,或者可能只是进行登录并检索用户电子邮件地址作为实际帐户,并告诉 Web 服务器这是要使用的帐户。
或者有人以另一种方式做到了这一点?
对于客户端/服务器之间的通信,您应该使用自己的客户端 ID。
不要转发 Facebook 给您的 access_token,因为它在多种情况下发生了变化。
获取电子邮件也不是完整的解决方案,因为用户可以决定不向您提供他们的邮件。
一般来说,您需要在双方都实施 Facebook Connect。
1.连接至脸书
2.从用户处获取权限(在此处阅读有关权限的信息:http://developers.facebook.com/docs/reference/api/permissions/)
3.注册为您的用户并给他一个ID(如果您愿意,您可以使用facebook uid)。
当用户返回您的网站/应用程序时,您需要再次登录他,获取他的 uid 并查询您的服务器以获取用户详细信息。
关于 access_token 的一件事是,您需要它来查询 facebook 的 api。每次用户使用 facebook 登录您的网站/手机时,您都可以从 facebook 获取它,或者您可以请求用户离线访问权限,然后您将拥有相同的 access_token,直到用户在 facebook 等更改密码为止。(阅读更多关于它在文档中)。
尽管用户当前未登录到您的网站,但此方法允许您查询 facebook api。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)