Учетная запись службы GSuite + OAuth2 для других доменов

Я настроил интеграцию, используя учетную запись общего делегирования домена GSuite + сервисную учетную запись, которая позволяет нам действовать как любой пользователь в нашем домене.

В настоящее время этот метод не очень "удобный" вариант для наших клиентов на rulerr.com, и я пытаюсь пройти через процесс согласия Oauth2 для других доменов за пределами нашей Организации.

В идеале они могли бы дать согласие в качестве администратора (известное как согласие администратора), а затем мы могли бы получить доступ ко всем пользовательским данным (календарям / почте / диску), просто получив один или два токена.

Это возможно через Microsoft Graph с приложением и делегированными разрешениями (см. https://blogs.msdn.microsoft.com/exchangedev/2015/01/21/building-daemon-or-service-apps-with-office-365-mail-calendar-and-contacts-apis-oauth2-client-credential-flow/)

Может ли кто-нибудь сказать мне, возможно ли это в GSuite? Я не могу найти никакой информации, кроме служебных учетных записей для одной организации.


person laurieodgers    schedule 10.04.2017    source источник
comment
Вы читали какую-либо из этих документов? developers.google.com/identity/protocols/OAuth2ServiceAccount developers.google.com/admin-sdk/directory/v1/guides/delegation   -  person Bravin Balasubramaniam    schedule 11.04.2017
comment
Привет, Бравин, спасибо за ответ. Да, я прочитал эту страницу - именно эта страница позволила мне создать исходную интеграцию, которая, к сожалению, разрешает доступ только к организации, в которой настроена учетная запись службы.   -  person laurieodgers    schedule 11.04.2017
comment
Учетная запись службы не зависит от домена, если вы хотите, чтобы учетная запись службы работала в другом домене, вам нужно попросить администратора домена поместить идентификатор клиента и область действия на страницу доступа к API консоли администратора.   -  person Bravin Balasubramaniam    schedule 11.04.2017
comment
Да, это, безусловно, вариант, но я не считаю его удобным для пользователя. Я надеялся, что мы сможем представить страницу согласия администратора, которая упростит технический / ручной метод добавления деталей интеграции на страницу доступа к API?   -  person laurieodgers    schedule 11.04.2017
comment
Если вы хотите, то единственный вариант - опубликовать свое приложение на торговой площадке приложений Google, чтобы вы могли предоставить страницу согласия через конфигурацию Marketplace SDK. прочтите этот документ для получения дополнительных сведений developers.google.com/apps-marketplace/preparing   -  person Bravin Balasubramaniam    schedule 11.04.2017
comment
Эта ссылка очень полезна - спасибо. Однако он не описывает процесс согласия Oauth2 + сервисный аккаунт. Я установил идентификатор клиента oauth 2.0, а также учетную запись службы в консоли API, я могу дать согласие на использование идентификатора клиента oauth2 и получить токен доступа, но я не могу понять, как получить идентификатор пользователя (адрес электронной почты) администратор для аутентификации через учетную запись службы?   -  person laurieodgers    schedule 13.04.2017


Ответы (2)


Для тех, кто ищет более подробный ответ на этот вопрос, чем тот, который доступен в документации Google API, эта страница очень помогла мне: http://youdontneedacrm.tumblr.com/post/81479000201/tutorial-create-your-application-in-google-marketplace

person laurieodgers    schedule 19.04.2017

«Согласие администратора» выдается, когда администратор rulerr.com авторизует client_id вашей учетной записи службы API в своем домене G Suite. Это можно сделать двумя способами:

  1. Администратор rulerr.com добавляет ваш client_id в раздел Безопасность -> Управление клиентским доступом API на сайте администратора G Suite. Это предоставит вашему клиенту API доступ ко всем учетным записям в их экземпляре домена для разрешенных областей.
  2. Если вы включите Marketplace SDK в своем проекте API и создадите / развернете приложение Marketplace, их администраторы могут установить это приложение в свой домен, который дает согласие для всех пользователей, за исключением того, что они могут ограничить его OU, чтобы оно предоставлялось только пользователям в Они выбирают OU.
person Michael    schedule 13.04.2017