Какие привилегии требуются для вызова api directory.user.update?
Наша организация использует SAML для единого входа в Google Apps. Чтобы использовать единый вход, мы должны управлять функциями смены пароля через API. Поскольку API предоставления не рекомендуется в пользу API-интерфейса администратора SDK, я работаю против этого API.
Процесс, который я разрабатываю, заключается в том, что конечный пользователь войдет в мое приложение, используя Google OAuth2. Затем, используя токен доступа пользователей, я пытаюсь вызвать https://www.googleapis.com/admin/directory/v1/users/ API для ввода нового пароля, но я получаю сообщение об ошибке 403 "Нет прав доступа для доступа к этому ресурс / апи".
У меня вопрос, какая привилегия требуется для того, чтобы пользователь мог обновить свой пароль? При вызове этого API с помощью GET я могу успешно получить информацию о моем пользователе, но попытка ввести новый пароль (или любое другое поле) не удалась.
Вот пример моего запроса и ответа: Запрос:
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"
}
}
1 ответ
Только супер-администраторы, делегированные администраторы и посредники могут получить доступ к API Admin SDK Directory.
Я предлагаю создать делегированного администратора, который имеет доступ только для обновления пользователей через API, а затем использовать в вашем веб-приложении токен OAuth, созданный для этого делегированного администратора.