【问题标题】:OAuth2 flows without User Manual actions没有用户手册操作的 OAuth2 流
【发布时间】:2022-01-31 22:24:02
【问题描述】:

我有一个从 Google Analytics 请求数据的 Java 应用程序,但我在处理身份验证时遇到了麻烦。

我已经看到 Google Analytics 处理 OAuth2 流 refresh_tokenauthorization_code

如果是refresh_token,我需要一个refresh_token,它可以通过浏览器中的用户手动身份验证来检索。

如果是authorization_code,我需要一个code,它可以通过浏览器中的用户手动身份验证再次检索到。

有没有一种方法可以在无需用户手动操作的情况下使用这些 OAuth 流程之一?

我测试了client_credentials 流,但它没有由 Google Analytics 处理

【问题讨论】:

    标签: java google-cloud-platform oauth-2.0 google-analytics


    【解决方案1】:

    简而言之 - 不。授权代码流依赖于浏览器作为确保代码被重定向回正确方的安全措施。由于用户身份验证是该流程的一部分,因此它要求用户采取适当的操作来进行身份验证。你可以尝试做什么:

    • 尝试使用 curl 模拟浏览器行为。这可能会起作用,尽管当 Google 的身份验证流程发生任何变化时它会中断,因此绝对不建议将其用于生产用途。

    • 您可以通过浏览器手动创建访问和刷新令牌,然后将它们保存在您的应用中。然后您的应用可以使用刷新令牌来获取新的访问令牌。这当然需要您在刷新令牌过期后获得一对新的并更新您的代码。

    • 我不确定 Google 是否支持设备流,但我认为他们支持。也许这是适合你的东西。 Device Flow 仍需要用户手动操作,但无需从您的应用打开浏览器即可执行此操作。

    【讨论】:

      猜你喜欢
      • 2015-02-16
      • 2010-10-12
      • 2017-03-01
      • 1970-01-01
      • 2019-04-12
      • 2016-11-18
      • 1970-01-01
      • 2016-03-15
      • 2015-02-18
      相关资源
      最近更新 更多