Доступ к свойствам удостоверения пользователя

Пользователи будут использовать ваш Community Connector для создания собственных источников данных. Для этих источников данных ваш соединитель может получить доступ к действительным удостоверениям пользователя. В зависимости от учетных данных источника данных эффективный пользователь может быть создателем источника данных (учетные данные владельца) или пользователем, просматривающим отчет (учетные данные наблюдателя).

Преимущества

  • Вы можете получить доступ к сервисам и API Google от имени пользователя.
  • Вы можете реализовать настраиваемый контроль доступа, чтобы гарантировать отображение только соответствующих данных.
  • Вы можете настроить пользовательский опыт для эффективного пользователя.

Этапы реализации

Доступ к пользовательскому токену OAuth

Ваш соединитель может получать доступ к службам и API Google от имени пользователя, передавая токен OAuth пользователя. Чтобы получить доступ к эффективному токену OAuth пользователя в вашем соединителе, используйте ScriptApp.getOAuthToken() . См. справку по getOAuthToken . Этот токен будет включать области авторизации , включенные во время авторизации соединителя.

Для большинства соединителей Apps Script автоматически определяет, какие области необходимы, путем анализа и обработки сценария. Вы можете в любое время просмотреть области, которые использует соединитель. Вы также можете явно указать области действия в своем манифесте , используя строки URL. Если вы хотите получить доступ к службе или API Google от имени пользователя, включите соответствующую область в манифест.

Доступ к адресу электронной почты пользователя

В своем коде вы можете идентифицировать текущего действующего пользователя с помощью Session.getEffectiveUser().getEmail() . См. справку по getEffectiveUser . Добавление этого кода автоматически добавит к вашему коннектору область авторизации https://www.googleapis.com/auth/userinfo.email .

Пример. Вызов API Google с использованием токена OAuth пользователя.

  • Коннектор Google Fit извлекает данные из API Google Fit для эффективного пользователя. При вызове API он передает токен OAuth эффективного пользователя. Подробности реализации смотрите в исходном коде .
  • Коннектор Firestore использует Cloud Resource Manager для получения списка проектов для эффективного пользователя. Этот соединитель также передает эффективный токен OAuth пользователя. Подробности реализации смотрите в исходном коде .

Пример: isAdminUser() на основе адреса электронной почты.

  • Chrome UX Connector поддерживает список пользователей-администраторов. Он использует getEffectiveUser() и сравнивает эффективного пользователя со списком, чтобы определить, является ли эффективный пользователь администратором или нет. См. реализацию getEffectiveUser .