适用于可分发 Web 应用程序的 OAuth 2.0

问题描述 投票:0回答:1

我正在尝试弄清楚如何使用 OAuth 2.0 从我的网络应用程序访问 Google API。问题是,该协议要求开发人员注册redirect_uri(接收访问令牌的页面的 URL)。但我的应用程序可以分发给许多客户,并且可以托管在无数的服务器上。无法事先知道redirect_uri

Google 为已安装的应用程序提供了另一种选择,但我也无法使用此变体。身份验证服务器在窗口标题中返回访问代码,并且无法从我们页面的 JavaScript 访问此信息(如果内容来自不同的服务器,则 JS 无法访问使用

window.open();
打开的窗口的内容)。

结论:

  1. 无法使用 Web 应用程序的方法,因为我不知道我们的应用程序将来将在哪里运行的所有 URL。
  2. 无法对已安装的应用程序使用方法,因为无法从我们的 JavaScript 代码访问窗口标题。

是否有任何建议,如何从运行在大量服务器上的distributable Web应用程序使用Google的OAuth 2.0?

oauth google-api
1个回答
1
投票

您确定无法访问窗口标题吗?如果您的应用程序正在打开该窗口,它应该能够访问它。应该可以像在移动应用程序中那样以类似的方式执行此操作。

如果所有尝试都失败,您可以设置一个代理服务器(具有已知的重定向 URI)并将 Google 令牌分发给所有客户端。或者更好的是,每个应用程序都可以有自己的代理服务器 - 从其下载的服务器。但是,如果每个 OAuth 客户端只能有一个重定向 URI,则每个应用程序都必须是一个单独的 OAuth 客户端。

© www.soinside.com 2019 - 2024. All rights reserved.