我试图弄清楚如何使用 OAuth 2.0 从我的网络应用程序访问 Google API。问题是,该协议要求开发人员注册redirect_uri(接收访问令牌的页面的URL)。但是我的应用程序可以分发给许多客户,并且可以托管在无数的服务器上。没有办法事先知道redirect_uri 。
谷歌为已安装的应用程序提供了另一种选择,但我也不能使用这个变体。身份验证服务器在窗口标题中返回访问代码,并且无法从我们页面的 javascript 访问此信息(JS 无法访问使用 window.open() 打开的窗口的内容;如果该内容来自不同的服务器)。
总结:
- 无法对 Web 应用程序使用方法,因为我不知道我们的应用程序将来会在哪里运行的所有 URL。
- 无法对已安装的应用程序使用方法,因为无法从我们的 JavaScript 代码访问窗口标题。
有什么建议,如何从运行在许多服务器上的可分发Web 应用程序中使用 Google 的 OAuth 2.0?谢谢你。