【问题标题】:Authenticating in desktop app with Google Account使用 Google 帐户在桌面应用程序中进行身份验证
【发布时间】:2019-03-01 07:39:38
【问题描述】:
我想使用用户令牌从 Java 桌面应用程序访问 Firebase Storage 或 Google Cloud Storage。我可以在浏览器中进行身份验证并获取访问令牌并将其传递给桌面应用程序以使用,但这会在一小时内过期。我找不到一种方法来获得更长的到期时间或刷新令牌,以生成新的访问令牌。注意 - 我不允许向桌面应用程序提供客户端密码或服务帐户凭据,而且设置服务器也不是一种选择。
【问题讨论】:
标签:
google-cloud-firestore
google-cloud-storage
google-authentication
【解决方案1】:
由于对存储的读写访问受到限制,并且只有经过身份验证的用户才能读取或写入数据,因此要访问 Google Firebase Cloud Storage 或 Google Cloud Storage,您需要以经过身份验证的用户身份连接到存储。这只能通过您提到的身份验证访问令牌或通过客户端库来完成。没有其他选项可用。这将确保您的应用与 Google Cloud Storage 服务之间的连接安全。
您需要将com.google.cloud.storage 库导入您的Java 桌面应用程序,并通过客户端连接到存储。这将为您的桌面应用程序提供必要的权限,以对存储执行读写操作。有关 Google Cloud Storage - Java 的更多信息,您可以在 Using Cloud Storage with Java 文档中找到。
如果这不是您想要的,请向我提供有关您的用例场景的更多信息,以便更清楚地了解您要完成的工作以及原因。