当前位置: 首页 > 知识库问答 >
问题:

Google Marketplace应用程序/ OAuth2 -以编程方式委托全域授权

伊铭
2023-03-14

语境

我目前正在迁移一个基于OAuth 1.0/OpenId的应用程序以使用OAuth 2.0。该应用程序是Java内置的谷歌应用引擎应用程序,将在新的应用程序市场2.0中出现。我的基本OAuth 2.0流程对个人用户来说运行良好,但在为下面的场景设置服务号时遇到了麻烦。

问题

我尝试启用的流程如下:

    < li >域管理员从应用程序市场安装应用程序 < li >域管理员授予请求的范围(例如,管理sdk、配置文件、电子邮件等) < li >来自新域的用户可以登录,而无需任何作用域权限提示 < li >当用户登录时,我的应用程序的服务帐户可以使用admin sdk访问新域的用户详细信息,以检查用户是否为管理员

为了启用#4,我的理解是我的应用服务号需要被授予新用户域的请求范围的域范围授权。

Google 文档显示了域管理员如何通过管理控制台(https://developers.google.com/drive/web/delegation)手动完成此操作,但我没有运气找到有关如何以编程方式/自动授予对我的应用服务帐户的访问权限的文档。

问题

有没有人对此有任何运气?或者,是否有另一种/更智能的方法来检查用户是否是其域的管理员,而无需使用服务帐户管理员 sdk 组合?

提前感谢!

共有1个答案

施彦
2023-03-14

将您的应用标记为DOMAIN_INSTALLABLE,并在附加到该应用的API项目中创建一个服务号。管理员用户将从市场安装它,这将授予您的服务号全域委托。请参阅此处的文档。

请注意,您还需要一个管理员用户的电子邮件来模拟以访问AdminSDK。您可以要求安装应用程序的人在安装阶段提供适当的电子邮件。您必须发布web应用程序以执行安装,并在MarketplaceSDK配置中提供此web应用程序的url。

 类似资料:
  • 我正在尝试使用我自己的应用程序实现或扩展的ResourceConfig或PackageResourceConfig来配置我的Jersey应用程序。因此,我的第一次尝试是将现有的web.xml(实际上,由于开发的库性质,我使用的是web-fragment.xml)配置移植到MyApplication实现。 当我使用第二个版本时,我会收到以下信息 正如您所看到的,是第一个注册的类,但由于它不是公共的,

  • 问题内容: 如何在 不终止VM的情况下以* 编程方式关闭 Spring Boot 应用程序? * 在其他作品中, 问题答案: 关闭a 基本上意味着关闭基础。该方法为您提供了一个。您可以自己动手做。 例如, 或者,您可以使用 帮助程序方法来帮助您。例如,

  • 如何在不终止VM的情况下以编程方式关闭一个spring boot应用程序? 在其他作品中,…的反义词是什么

  • 问题内容: 我想编写一个实用程序,用户可以在其中选择一组已安装的应用程序并清除其数据缓存,例如,您可以使用内置的“设置”->“应用程序”设置屏幕中的“清除缓存”按钮来手动执行此操作。 如何访问每个应用程序具有多少缓存数据并以编程方式清除这些缓存? 问题答案: 普通的SDK应用程序无权访问(更不用说修改)其他应用程序的缓存了,甚至无权修改您的文件。 在具有以root用户身份运行的应用程序的有根电话上

  • 什么是最简单的方法,以获得Spring引导好,但不试图自动配置所有的东西?例如,要只使用我们已经配置的属性(一些通过Consul+Spring Cloud加载)运行flyway,我希望可以做一些类似的事情: 并且让main方法只调用 这样做的问题是,它会拾取所有的组件扫描/其他依赖项的长列表。任何具体配置依赖项的方法(但仍然获得框架的nicities)

  • 我正在尝试制作一个应用程序,该应用程序将以一定的间隔隐藏其他窗口/应用程序,但我一直坚持使用NSWorkspace和NSRunningApplication类隐藏全屏应用程序窗口。 有没有办法使用公共API以编程方式退出全屏模式?如果没有,我需要查看哪些私有API来实现此任务?