【问题标题】:Sharing Google oAuth Tokens between Android, iOS and Web apps在 Android、iOS 和 Web 应用程序之间共享 Google oAuth 令牌
【发布时间】:2018-02-15 19:29:19
【问题描述】:

我们正在构建一个访问 Google Drive 中文件的应用程序。我们的应用程序有一个 Web UI、一个 Android 应用程序和一个 iOS 应用程序。我们使用 oAuth2 让用户授权我们的应用访问他们的 Google Drive 帐户。我们在 Web 应用程序中使用 Google Drive Java SDK 和 Google Drive for mobile 的 Android/iOS SDK。我们无法在 iOS 中使用 Android SDK 返回的 oAuth 令牌,反之亦然。我们也不能在 Android 应用程序中使用 Java SDK(我们的 Web 服务器)收到的令牌。因此,我们不得不为每个平台(web、Android、iOS)创建单独的 oAuth 客户端,并且用户需要在每个平台上授权一次,这对用户不是很友好。有没有更好的方法在客户端之间使用相同的 oAuth 令牌?我在这里遗漏了一些非常基本的东西吗?

【问题讨论】:

  • 我认为你缺少一些基本的东西。所有客户都应该在一个项目中。用户在项目级别而不是客户端级别进行授权。我不了解 iOS,但 Android OAuth 与包名称和签名密钥相关联。因此,您不希望在其他任何地方共享 Android 访问令牌。

标签: google-oauth google-oauth-java-client


【解决方案1】:

您需要在 iOS 和 Android 上为服务器获取令牌。

See this doc for iOS See this doc for Android

在每个应用上,您都会先要求用户登录。然后检查服务器是否已经有令牌。如果不是,则请求该访问权限并将令牌存储在服务器上。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-23
    • 1970-01-01
    • 1970-01-01
    • 2017-07-13
    • 1970-01-01
    • 1970-01-01
    • 2012-02-25
    • 1970-01-01
    相关资源
    最近更新 更多