gpt4 book ai didi

android - 如何安全地实现Facebook登录和设计数据库?

转载 作者:搜寻专家 更新时间:2023-10-30 20:38:41 24 4
gpt4 key购买 nike

我正在制作 Android 应用程序和 API,我需要实现 Facebook 登录。我在想这个:

  1. Android 应用中的登录按钮,登录后获取 FB 用户 ID。
  2. 将 FB 用户 ID 发送到我的 API login 方法。
  3. 在 API 中,检查发送的 FB 用户 ID 是否在数据库中。如果不是,我们会在数据库中插入一条新记录,例如 id: 506, facebook-id:45645679843
  4. 如果它在数据库中或插入新记录后,我们返回某种访问 token 。
  5. 我们将该访问 token 用于 future 的 API 调用。

但是,我的解决方案看起来很不安全。如果有人使用不是他的 FB 用户 ID 进行 API login 调用,他将获得该帐户的访问 token 。那么我该如何解决呢?如何检查登录是否有效?

编辑:我可以在登录后获得类似登录 token 的东西,将该 token 发送到我的 API 并检查它在那里是否有效吗?还是FB SDK没有这个功能?

编辑 2:您如何看待这种方法?

  1. Android 应用中的登录按钮,登录后获取 FB 访问 token 。
  2. 将 FB 访问 token 发送到我的 API login 方法。
  3. 在我们的 API 中,我们使用访问 token 调用 FB 的图形 API 以获取 FB 用户 ID。
  4. 我们检查这个 FB 用户 ID 是否在数据库中。如果不是,我们会在数据库中插入一条新记录。
  5. 如果它在数据库中或插入新记录后,我们返回我们自己生成的访问 token 。
  6. 我们使用该访问 token 进行 future 的 API 调用。

最佳答案

我认为不可能对您规划的系统结构进行这种验证。但是,您可以这样解决问题。
对于您正在构建的 API,请确保将“ secret token ”与 FBuser id 一起发送。这个 secret token

ex. yourapp-0122120123--123i1eqwejoe19_qqw13e!!sdokdf


将只有您知道,因此即使其他人发送请求,如果传递的参数中不存在 secret-token,您也可以识别这是一个无效的 API 调用。

我这里的假设是 FBuserID 自动插入到请求中,并且您不允许用户在那里手动输入参数,基本上所有事情都是通过代码发生的,否则用户可能会发出虚假请求:-)

关于android - 如何安全地实现Facebook登录和设计数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29987014/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com