Google Apps Marketplace SSO要求如何运作?

时间:2015-10-26 17:26:11

标签: google-apps-marketplace

我们正试图弄清楚如何提交到市场,但不确定我们需要做些什么来改变我们现有的注册流程以适应SSO requirement

我们的应用程序最初并非构建为市场应用程序,因此我们的注册流程是为个人用户构建的。我们已按照此documentation页面上的说明关注OAuth2流程。但是,从市场应用程序的上下文安装时,我不清楚整个组织的工作原理。

管理员是否授予我们当前为整个组织请求的所有单个范围的访问权限?因为我们目前正在请求离线访问,是否需要某种服务帐户?我想了解我们需要对服务器的注册流程做出哪些更改,或者它是否仅仅是范围/清单不匹配。

我们目前在注册时从单个用户请求以下范围。 ['email', 'profile' ,'https://mail.google.com/', 'https://www.googleapis.com/auth/calendar'],

确切的问题是......

  1. 我们需要做些什么(如果有的话)来改变我们当前以个人为中心的注册流程,以便让Google Apps管理员注册整个域名?

  2. 我们的Google Apps管理员列表需要具备哪些范围,以及它们与我们目前向个人提出的范围有何关联?

1 个答案:

答案 0 :(得分:0)

如果您已经使用三条腿OAuth2,则没有太多变化。

第一个更改将在developer console中的项目中。在那里,您需要启用Marketplace SDK并进行必要的配置。在这里,您将添加应用程序将请求的范围,这些是管理员在安装应用程序时将看到的范围。

管理员将看到您的应用正在请求的范围,他将决定是否可以在域中安装该应用程序。如果它被批准,则,管理员将授予对整个域的访问权。

离线访问是Oauth流程的一部分,在您收到刷新令牌后,您可以继续刷新访问令牌,而无需用户再次授予访问权限。

没有必要拥有服务帐户。服务帐户有两个目的:

  1. 管理与应用程序相关的信息。在这种情况下,服务帐户可以访问它自己的驱动器,以存储和检索与应用程序功能相关的信息。

  2. 假冒用户。使用domain delegation of authority时,您可以使用服务帐户模拟域中的任何用户,并代表其执行API调用。

  3. deploy您的应用,您还必须在Chrome网上应用店中创建一个新项目,并附带市场清单。

    回答你的问题:

    1. 您无需修改​​当前的oauth流程。管理员将在域中安装应用程序,但当用户访问应用程序时,身份验证过程与个人相同。

    2. 您的Marketplace SDK配置中的范围应与您的应用将使用的范围相匹配。这主要是出于安全原因,如果您安装具有某些范围的应用程序然后该应用程序使用不同的范围,则不安全。

    3. 您可以在实际部署之前尝试使用您的应用,方法是在Chrome网上应用店信息中心或trusted testers中添加Console API configuration。这样,您可以检查流量和所有配置是否正确完成。

      希望这会有所帮助。如果您有更多问题,请与我们联系。