【问题标题】:Facebook access token send to server with every requestFacebook 访问令牌随每个请求发送到服务器
【发布时间】:2014-09-10 15:10:09
【问题描述】:

所以我有一个启用了 facebook 登录的 android 应用程序。用户登录后,应用程序会将用户的访问令牌发送到服务器进行验证。服务器通过使用该访问令牌向 facebook 发出简单请求来验证令牌的有效性。

现在经过初步验证,我需要验证客户端 android 应用程序向服务器发出的每个后续请求,以识别客户端。我是否应该在每个请求(POST 请求)的正文中包含访问令牌,并确认它与上述登录过程中收到的访问令牌匹配? GET 请求呢?

更新:我需要在客户端(android 应用程序)和服务器上维护一个会话,以便服务器识别客户端。就我而言,假设有两个不同的用户登录,并且都向服务器发出 GET 请求。我的服务器不知道用户是谁,因为我没有可以通过在 rails 中创建会话变量来持久保存在 android 应用程序上的会话 - 客户端的应用程序需要与服务器具有相同的会话变量。但是如果不发送访问令牌或 @user.id 来回发送每个请求,我不知道该怎么做……想知道是否有更好的方法来做到这一点。 p>

【问题讨论】:

    标签: session oauth client-server facebook-login access-token


    【解决方案1】:

    每个请求都传递令牌并在服务器上进行验证是标准解决方案。 不管 HTTP 方法如何,将令牌作为 HTTP 标头发送也是一种标准做法。

    当您使用它时,请使用标准 OAuth2 标头跨令牌“Bearer”发送。如下所示。

    Bearer: 8QIEF9QWEDFCQERMF0139RF1E=
    

    【讨论】:

    • 谢谢!来回发送相同的未加密的 FB 访问令牌是否有意义?我的意思是有任何安全方面的考虑吗?
    • 您的网站不是 HTTPS 吗?如果是,则包括标头的数据无论如何都已加密,因此无需再次加密。如果不是,我建议您使用 HTTPS,否则您需要加密令牌。但不建议加密自己,因为您需要在服务器和应用程序之间共享密钥,这是维护的噩梦。另外,如果您认为答案是正确的,请标记它。
    猜你喜欢
    • 2012-12-21
    • 2020-01-25
    • 2018-01-09
    • 1970-01-01
    • 1970-01-01
    • 2011-09-14
    • 1970-01-01
    • 2019-11-19
    • 2018-12-29
    相关资源
    最近更新 更多