我们的组织使用 SAML 将 SSO 用于 Google Apps。为了使用 SSO,我们必须通过 API 管理更改密码功能。由于供应 API 已被弃用,取而代之的是 Admin SDK Directory 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"
}
}