2016-12-19 34 views
0

我希望能够在OAuth期间使用Directory API所需的某些范围来添加到我的服务中的所有Google帐户。但是,其中一些范围与免费的Gmail帐户无关。如何选择性地为Google Apps帐户添加范围

现在,一种选择是在我们的服务本身中有一个单独的流程,以便我们向用户明确Google Apps和Gmail是不同的。但是根据以往的经验,我看到有不少用户不足以区分这两者,只是继续使用Gmail流程,而这些用户最终会错过我们可以提供的功能,只要他/她去了Google Apps流程。

我宁愿避免这种情况,并尽可能简化用户的操作。为此,有没有什么方法可以指定“如果这是Google Apps帐户”,在第一回合本身期间添加范围?

+0

1.我不确定有什么方法可以在用户通过身份验证后找出它的应用程序帐户。 2.如果可以,那么一旦通过身份验证,就有办法请求额外的范围。 3.它可能但不知道你是如何编码的https://developers.google.com/identity/sign-in/web/incremental-auth – DaImTo

回答

1

假设您想使用https://www.googleapis.com/auth/admin.directory.orgunit范围。

即使您确实包含此范围以供用户授权,您在流程期间也不会收到任何错误,无论它们是免费gmail帐户还是非G Suite管理员。只有当您调用一个需要将admin.directory.orgunit范围作为非G Suite管理员的API时,您才会收到错误消息。

如果您担心如果您要求太多范围,可能会阻止您的用户使用您的应用,那么在需要时您可以request additional scopes

If you want to detect if a user is a free gmail or a G Suite account check out this answer。之后,您可以要求额外的范围,如果它是G Suite帐户。

+0

我知道添加目录范围不会导致任何错误,但免费的Gmail用户最终也会在OAuth同意屏幕上看到我想避免的权限。在检测到它是否托管域之后请求其他范围的想法听起来像是一个计划:) –

相关问题