语境
我目前正在迁移基于 OAuth 1.0/OpenId 的应用程序以使用 OAuth 2.0。该应用程序是用 Java 构建的 Google App Engine 应用程序,将在新的应用程序市场 2.0 中。我已经为个人用户提供了基本的 OAuth 2.0 流程,但在为下面的场景设置服务帐户时遇到了麻烦。
问题
我试图启用的流程如下:
- 域管理员从应用市场安装应用
- 域管理员授予请求的范围(例如 admin sdk、配置文件、电子邮件等)
- 来自新域的用户无需任何范围权限提示即可登录
- 当用户登录时,我的应用程序的服务帐户可以使用 admin sdk 访问新域的用户详细信息,以检查用户是否是管理员
为了启用#4,我的理解是我的应用程序服务帐户需要获得新用户域的请求范围的域范围授权。
谷歌文档显示了域管理员如何通过管理控制台(https://developers.google.com/drive/web/delegation)手动完成此操作,但我没有任何运气找到有关如何以编程方式/自动授予对我的应用服务帐户的访问权限。
问题
有没有人有这方面的运气?或者也许有另一种/更智能的方法来检查用户是否是其域的管理员,而无需使用服务帐户 + admin sdk 组合?
提前致谢!