【问题标题】:What privileges are required to call the directory.user.update api?调用 directory.user.update api 需要什么权限?
【发布时间】:2013-07-18 21:54:39
【问题描述】:

我们的组织使用 SAML 将 SSO 用于 Google Apps。为了使用 SSO,我们必须通过 API 管理更改密码功能。由于 Admin SDK Directory API 已弃用 Provisioning API,因此我正在针对此 API 进行开发。

我正在开发的流程是最终用户将使用 Google OAuth2 登录到我的应用程序。然后,我尝试使用用户访问令牌调用https://www.googleapis.com/admin/directory/v1/users/ API 来输入新密码,但我收到错误 403“未授权访问此资源/api”。

我的问题是,用户需要什么权限才能更新自己的密码?使用 GET 调用此 API 时,我能够成功检索我的用户信息,但尝试输入新密码(或任何其他字段)失败。

这是我的请求和响应的示例: 要求:

PUT https://www.googleapis.com/admin/directory/v1/users/user%40domain.org?key={YOUR_API_KEY}

Content-Type:  application/json
Authorization:  Bearer ya29.AHES6ZT_7onp48edpClD72X-*************************
X-JavaScript-User-Agent:  Google APIs Explorer

{
  "password": "wlKsf.##2af"
}

回复:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "forbidden",
    "message": "Not Authorized to access this resource/api"
   }
  ],
  "code": 403,
  "message": "Not Authorized to access this resource/api"
 }
}

【问题讨论】:

    标签: google-admin-sdk google-sso


    【解决方案1】:

    只有 super admins, delegated admins and resellers 可以访问 Admin SDK Directory API。

    我建议创建一个只能通过 API 更新用户的委派管理员,然后让您的 Web 应用程序使用为该委派管理员创建的 OAuth 令牌。

    【讨论】:

    • Jay,感谢您的回复,我无法更改自己的密码是有道理的。我刚刚在测试帐户上再次测试,它工作正常。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    • 2012-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-09
    相关资源
    最近更新 更多