【问题标题】:Authentication : Facebook user access token validation on server side?身份验证:服务器端的 Facebook 用户访问令牌验证?
【发布时间】:2017-10-22 03:25:31
【问题描述】:

这里的很多问题都是关于服务器端Facebook access token的验证过程。我有点困惑如何仍然安全?

我的客户端和服务器流程是:

  1. 用户 Continue with Facebook 在客户端使用 Mobile SDK
  2. Facebook 向客户端返回User access token
  3. 服务器端点接收user access token(通过POST 方法)并使用Graph API 验证access_token
  4. 如果经过身份验证的用户返回JWT 授权令牌作为响应
  5. 在此期间(一小时内),如果黑客找到了endpoint 并将新的access_token 传递给被黑端点。

如果5th点被执行会发生什么?很难破解POST 参数,但在反编译应用程序并查看类文件(至少对于android apk )后可能是可能的。在这种情况下,Server 将无法识别伪造的请求,并将始终返回 JWT Authorization 令牌以进行进一步的调用。

Facebookaccess_token 的有效期为 60 天。我是否需要在验证端点时提供额外的安全层以确保请求仅来自应用程序?

每当用户请求登录时,facebook user access_token 是否总是在变化?

任何形式的帮助都将是可观的。谢谢

【问题讨论】:

  • 您必须使用自己的身份验证机制,比如说基本身份验证。或者一个身份验证标头,除了开发人员之外,任何人都无法使用。
  • @KhushalChouhan 基本身份验证不安全,因为它以明文形式发送参数。
  • 我不知道。你能提供你的信息来源吗?

标签: android facebook facebook-graph-api facebook-oauth


【解决方案1】:

解决方案:

生成的access_token 将始终属于一个应用程序。要验证它是否通过access_tokenapp_tokenin:

https://graph.facebook.com/debug_token?
access_token=ACCESS_TOKEN
&app_token=APP_TOKEN

【讨论】:

    猜你喜欢
    • 2012-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-13
    • 2022-08-16
    • 1970-01-01
    相关资源
    最近更新 更多