Я понимаю, что использование Admin SDK работает только с протоколом OAuth2.0, который требует входа в Google и использования учетных данных, созданных в консоли разработчика. Моя ситуация заключается в том, что я внедряю процесс для зачисления сотрудников в наше приложение и создания учетной записи в Google, но не все наши пользователи имеют разрешение администратора для зачисления учетных записей Google.
Я настроил пользовательский функционал и работал должным образом (потому что мой пользователь — администратор), но при загрузке его в производство другой пользователь не смог создать учетные записи пользователей при создании сотрудника, отправив сообщение об ошибке, у которого не было разрешений на использование ресурса / API, очевидно, у этого человека не было прав администратора.
Так как же отправить учетные данные учетной записи администратора со стороны сервера, чтобы они могли создавать учетные записи пользователей в Google?
не то, что я имею в виду?
переведено с помощью Google Translate
Доступны два варианта:
1) Храните учетные данные администратора.
В этом методе у вас есть учетная запись администратора, пройти через специальный поток авторизации и сохранить их access_token
а также refresh_token
в вашей базе данных. Всякий раз, когда вам нужно сделать запрос, требующий прав администратора, используйте сохраненные учетные данные администратора вместо учетных данных пользователя.
2) Используйте служебную учетную запись, чтобы выдать себя за администратора.
Сервисные аккаунты могут быть предоставлены полномочия на уровне домена, позволяя им выдавать себя за любого пользователя в домене. Когда вам нужно сделать запрос, требующий прав администратора, используйте учетную запись службы для олицетворения администратора домена.
Вариант № 1 гораздо проще для кодирования, но требует специального потока администратора в вашем приложении.
Откройте консоль Google и выберите свой проект. Вы найдете меню разрешений. Когда вы добавите участника в то время, когда вы должны дать там разрешения.