获取每个应用服务器请求的用户ID

时间:2012-09-01 14:41:20

标签: java facebook facebook-apps facebook-app-requests

我正在开发一个加载在FB画布中的FB应用程序。我正在使用Java和Spring作为服务器端技术。在应用程序加载时,FB使用POST请求我在FB中的应用程序帐户中配置的URL,包括用于用户授权的signed_request参数。这样我就可以安全地获取登录的用户ID。

我想知道从画布内的HTML到我的app web服务器(在signed_request调用之后)每次调用时获取登录用户ID的最佳方法是什么?

谢谢!

2 个答案:

答案 0 :(得分:1)

我会这样做:

  1. 对用户进行一次身份验证,然后获取signed_request参数。
  2. 将其存储在针对用户的内部地图/数据库中。
  3. cryptographic nonce与每个与请求一起返回的传出回复相关联,并可用于查找正确的用户。
  4. 所有这些都发生在servlet过滤器中(或者如果有的话,在Spring MVC中等效),因为这是所有传入请求和传出响应的交叉关注点。
  5. 我的两分钱!

答案 1 :(得分:0)

如果用户未对应用进行身份验证,则无法获取Facebook用户ID。授权用户后,将始终使用signed_request传递用户ID。