我們的組織使用SAML將SSO應用到Google Apps中。爲了使用SSO,我們必須通過API管理更改密碼功能。由於Provisioning API已被棄用,以支持Admin SDK Directory API,因此我正在針對此API進行開發。調用directory.user.update 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"
}
}
周杰倫,謝謝你的迴應,這是有道理的,我不能改變我自己的密碼。我只是在測試帳戶上再次測試,並且它正常工作。 –