gpt4 book ai didi

android - 来自 Android 手机的适用于 Google API 的有效 OAuth

转载 作者:行者123 更新时间:2023-11-30 04:38:34 25 4
gpt4 key购买 nike

我正在尝试从 Android 应用程序获取 Google Buzz、联系人的授权。流程与此类似。

  • 用户选择是否要使用 Buzz。
  • 使用OAuth/Client Auth,我们需要获得一个一次性的授权码。
  • Web 服务将使用此代码定期读取 Buzz 提要。

现在,问题是如何从 Android 应用程序获取授权码(不是临时 token )并将其发送到网络服务。我可以使用普通的 OAuth2.0 并使用我的网络服务作为重定向 URL 来获取代码。但在那种情况下,我怎样才能让网络服务知道代码属于哪个用户呢?我可以通过 OAuth 舞蹈传递额外信息吗?

最佳答案

我强烈建议使用 OAuth 2。对于最终用户来说流程要好得多,而且实现这样的东西也容易得多。此外,它使用不记名 token ,这意味着您可以在实际安全的地方维护刷新 token 服务器端,并且仅在需要时将访问 token 发送到 Android。

这种方法的缺点是,实际上每次您的应用加载时,它都需要打电话回家以获取最新的访问 token 。但是,一旦获得该访问 token ,它就可以直接对 Buzz 和 Contacts API 进行任何需要的 API 调用。

但是,要做到这一点,您不会通过 OAuth 舞蹈传递额外信息。相反,您的 Android 应用程序需要已经安全地识别哪个用户使用您的应用程序登录,然后确保服务器只发回与经过身份验证的用户关联的访问 token 。如果它没有该用户的最新访问 token ,则需要向 Google 的授权服务器发出请求以获取最新的访问 token ,然后将其传递给客户端。因此,那里肯定存在一些延迟的强大潜力,因为这通常需要同步调用,但对于 OAuth 2 相对于 OAuth 1 的优势而言,这通常是一个很小的代价。

关于android - 来自 Android 手机的适用于 Google API 的有效 OAuth,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6409863/

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