我们使用OAuth 1.0协议在Google Apps Marketplace上部署了多个应用。根据Google平台中的OAuth 1.0到期,我们正在尝试将所有应用迁移到新的OAuth版本,但我们在向Google Admin SDK Directory API提交后台请求方面遇到了一些困难。
在我们的应用中,我们需要请求域用户帐户,群组和其他相关的电子邮件域结构。在OAuth 1.0之前,我们一直使用2-LO(双腿OAuth)进行此操作,所以基本上一旦Admin给了我们访问权限,我们就可以使用此机制模拟域请求。
在阅读了有关Google API,Oauth机制和内容的所有Google文档后,在尝试了一些代码测试假设之后,我们还没有想出如何通过以下方式管理OAuth 2的相同概念:
使用 Web服务器 Oauth 2策略根本不起作用,因为在这种情况下,我们将获得域用户访问Admin SDK。如果我们保留其访问/刷新令牌对以便稍后查询Admin SDK并删除用户,因为Domain更改了Admin,我们将从流程中断开连接。
我认为在这种情况下,最好的选择是服务帐户策略。此方案的问题是用户必须根据Google的文档域范围的委派权限(https://developers.google.com/+/domains/authentication/delegation#create_the_service_account_and_its_credentials)在其管理控制台中手动配置对应用的访问权限。这对我们来说真的很尴尬,因为我们以交互方式管理所有应用程序安装,我们不想删除用户体验设施。
最后,我的问题是:
任何评论或指南都会很好。
最佳,
答案 0 :(得分:1)
当然 - 在Google Apps Marketplace的最新更新中,安装应用程序的行为意味着管理员无需再执行其他操作步骤。
您需要一种在服务帐户中模拟用户的方法。根据您实施应用程序的方式,您可能需要使用Directory API。
OAuth1最终会消失,因此我建议您始终使用OAuth2来简化代码复杂性。