上下文
我目前正在迁移基于OAuth 1.0 / OpenId的应用程序以使用OAuth 2.0。该应用程序是一个用Java构建的Google App Engine应用程序,将在新的应用程序市场2.0中。我已经为个人用户提供了基本的OAuth 2.0流程,但是我在下面的方案中设置服务帐户时遇到了问题。
问题
我想要启用的流程如下:
为了启用#4,我的理解是我的应用服务帐户需要被授予针对新用户域的请求范围的域范围授权。
Google文档显示了如何通过域管理员通过管理控制台(https://developers.google.com/drive/web/delegation)手动完成此操作,但我没有找到关于如何以编程方式/自动授予对我的应用服务的访问权限的文档帐户。
问题
有人有运气吗?或者是否有另一种/更聪明的方法来检查用户是否是他们域的管理员而无需使用服务帐户+ admin sdk combo?
提前致谢!
答案 0 :(得分:1)
将您的应用标记为DOMAIN_INSTALLABLE
,并在附加到该应用的API项目中创建服务帐户。管理员用户将从市场安装它,这将授予您的域范围委派您的服务帐户。 See the doc here
请注意,您还需要管理员用户的电子邮件才能模拟以访问Admin SDK。您可以要求安装应用程序的人员在设置阶段提供正确的电子邮件。您必须发布Web应用程序才能执行设置,并在Marketplace SDK配置中为此Web应用程序提供URL。