gpt4 book ai didi

android - Facebook 使用 Android 对我的服务器进行身份验证

转载 作者:IT老高 更新时间:2023-10-28 22:01:15 27 4
gpt4 key购买 nike

我正在构建一个包含以下 block 的应用程序:

Android - 客户端,Java Servlets - 服务器端,Facebook 应用 - 用于对用户进行身份验证并处理他们的数据。

我的问题如下:我想通过 facebook 对我的用户进行身份验证(例如从 android 客户端使用 facebook-android-sdk 发送到 facebook 的请求),但是我想将请求发送到我的服务器(由 servlet 实现)并以某种方式进行验证发送请求的用户已通过 facebook 和我的应用程序的身份验证。

以下是这些步骤:

用户 X 使用 facebook-android-sdk 对 facebook 和我的 facebook 应用程序进行了身份验证。X 正在向我的服务器发送请求

至于服务器,我只想知道它是与我一起工作的合适用户,我不需要服务器来执行任何 Graph API 请求。

我如何知道 X 在我的服务器中有效?在这种情况下,身份验证是在客户端执行的。

最佳答案

所以你有:Facebook - Android 应用程序 - 你的网络服务器。您的网络服务器需要知道您是您所展示的 Facebook 用户。问题是您不能信任 Android 客户端提供给您的任何数据。

我这样解决了这个问题:

  1. 从 Android 应用程序向 Facebook 验证用户,
  2. 获取 FB 身份验证 token 到 android 应用,
  3. 将身份验证 token 和 facebook UID 从 Android 转发到 Web 服务器,
  4. 使用此处所述的 Facebook Graph 调试端点 (https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow#checktoken) 验证 token (使用 app_id 和 user_id),以确保 token 用于正确的应用程序
  5. 在网络服务器上,使用提交的 token 进行 Facebook API 调用。

如果来自您的 Web 服务器的调试端点 API 调用返回有效信息(应用程序 ID 和用户 ID),则您的服务器可以信任该 ID(并且您可以确定 Android 身份验证是真实的)

关于android - Facebook 使用 Android 对我的服务器进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7756878/

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