【问题标题】:how do I send the credentials of an administrator account so that they can create user accounts on google?如何发送管理员帐户的凭据,以便他们可以在 google 上创建用户帐户?
【发布时间】:2014-10-17 17:07:42
【问题描述】:

我了解使用 Admin SDK 仅适用于 OAuth2.0 协议,该协议要求登录 Google 并使用在开发者控制台中创建的凭据。我的情况是,我正在实施一个流程,以在我们的应用程序中招募员工并在 google 中创建一个帐户,但并非我们的所有用户都具有登记 google 帐户的管理员权限。

我使我的用户功能和工作正常(因为我的用户是管理员)但是当将它上传到生产时,另一个用户在创建员工时无法创建用户帐户,发送无权使用资源的错误 / API,显然这个人没有管理员权限。

那么如何从服务器端发送管理员帐户的凭据,以便他们可以在 google 上创建用户帐户?

不是我的意思吗? 用谷歌翻译翻译

【问题讨论】:

  • 您可能应该向需要它们的用户添加用户管理权限。发送管理员凭据听起来是个坏主意。

标签: php google-oauth google-api-php-client google-admin-sdk google-signin


【解决方案1】:

有两种选择:

1) 存储管理员的凭据。

在这种方法中,您有一个管理员帐户通过一个特殊的授权流程,并将他们的access_tokenrefresh_token 存储在您的数据库中。每当您需要发出需要管理员权限的请求时,请使用管理员存储的凭据而不是用户的凭据。

2) 使用服务帐号冒充管理员。

服务帐户可以是granted domain-wide authority,允许他们模拟域中的任何用户。当您需要发出需要管理员权限的请求时,请使用服务帐号来模拟域管理员。

选项 #1 编写代码要简单得多,但需要在您的应用程序中使用特殊的管理流程。

【讨论】:

    【解决方案2】:

    打开 Google 控制台并选择您的项目。您将找到权限菜单。当您添加成员时,您必须在那里授予权限。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-04
      • 2016-05-09
      • 1970-01-01
      相关资源
      最近更新 更多