Протокол OAUTH: настройка SSO провайдера Google Workspace

Настраивайте вход в личный кабинет и на онлайн-мероприятия с использованием провайдера Google Workspace для протокола OAuth 2.0

Если вы используете Google Workspace (ранее GSuite) и у вас есть корпоративные учетные записи для доступа к сервисам на базе Google, то теперь вы можете настроить возможность входа в личный кабинет и на онлайн-мероприятия с использованием протокола OAuth 2.0.

OAuth 2.0 — протокол авторизации, который позволяет пользователю разрешить доступ к своим данным без необходимости предоставлять свои учетные данные.


Инструкции для других протоколов и провайдеров идентификации:


Преимущества использования:

  • Не нужно создавать отдельные учётные записи для организаторов мероприятий. Создание личного кабинета, присоединение к организации и распределение доступного тарифа осуществляется автоматически во время первого входа в личный кабинет с помощью SSO.

  • При добавлении нового сотрудника он сразу может приступать к прохождению адаптационных курсов, а при увольнении достаточно отключить его учетную запись в Google, и доступ ко всем учебным материалам будет ограничен.

  • Не нужно отдельно создавать учетную запись Линк Курсы для участия в курсах и запоминать логин/пароль, т.к. вход осуществляется по одной кнопке.


Как настроить

Необходимо иметь настроенный сервис Google Workspace и созданный в нем OAuth-клиент.


Шаг 1. Создаем OAuth-клиент на стороне Google Workspace

  1. Для создания клиента необходимо зайти в проект вашей Организации через консоль администратора Google, перейти в раздел “APIs & Services”, на левой боковой панели выбрать подраздел “Credentials”, нажать на кнопку “Create Credentials" и выбрать “OAuth client ID”:

  2. Если вы еще не создавали страницу согласия (consent screen), система предложит это сделать:

    и далее запросит выбор типа доступа:

    Нам нужен вариант “Internal” — подразумевает работу только с пользователями из Google-проекта с доменом вашей Организации (вариант “External” — работа с любым пользователем, имеющим Google-аккаунт). Выбираем, нажимаем на кнопку “Create” и переходим к следующему этапу.

  3. На следующем этапе настраиваем страницу согласия:

    • в верхнем блоке “App information” вводим название Организации, почту, которая будет отображаться на странице согласия (ВАЖНО: указанный адрес будет виден всем пользователям!);

    • в блоке “Authorized domains” добавляем домены вашей Организации: адреса, которые будут подтверждены в личном кабинете пользователя Webinar в разделе "Настройки SSO" (домены, с почтовых адресов которых будут зарегистрированы пользователи);

    • в нижнем блоке “Developer contact information» указываем почту, на которую Google будет присылать информацию о любых изменениях в вашем проекте:

  4. Заполнение остальных полей является опциональным и служит для визуального оформления страницы согласия.

  5. После сохранения настроек страницы согласия предстоит указать те персональные данные, к которым пользователь разрешает доступ. Нажимаем на кнопку “Add or remove scopes», справа откроется панель выбора. Нам нужно отметить email, profile и openid, внизу нажать на “Update” и далее на “Save and continue”:

    Проверяем правильность заполнения и возвращаемся в подраздел “Credentials”.

  6. Теперь, как в пункте 1, ещё раз нажимаем на кнопку “Create Credentials" и выбираем “OAuth client ID». Для типа создаваемого клиента выбираем “Web application” и задаем ему название:

    После создания откроется окно с данными, которые понадобятся нам позже. ВАЖНО: утечка этих данных, особенно из поля “Client secret”, может привести к утечке персональных данных пользователей!

    Копируем их:

  7. Опционально можно настроить передачу аватарки. Сделать это, в зависимости от уровня доступа к настройкам, может либо сам сотрудник, либо администратор Организации.

    Для этого нужно добавить изображение в профиль аккаунта сотрудника и сделать его видимым для всех:


    После этого добавленное изображение будет автоматом передаваться в профиль сотрудника в МТС Линк при входе по SSO.


Шаг 2. Подтверждаем домен

Подтверждение необходимо, чтобы только вы могли использовать ваш домен для SSO в МТС Линк. Подробнее об этом читайте в статьях Подтверждение домена для SSO и Настройка SSO.

ВАЖНО: без подтвержденного домена функционал работать не будет!


Шаг 3. Настраиваем связь МТС Линк и Google Workspace

  1. Входим в личный кабинет, переходим в подраздел “Настройки SSO” раздела “Бизнес”. Выбираем протокол OAuth, Google Workspace в качестве SSO провайдера и вставляем данные из пункта 5 первого шага настроек в соответствующие поля — “Идентификатор приложения (Client id)” и “Секретный ключ приложения (Client secret)”:

    После нажатия на кнопку Далее платформа предоставит доменные имена, которые нужно будет ввести в созданном в пунктах 1-5 первого шага настроек OAuth-клиенте.

  2. В консоли Google заходим в наш клиент:

    Копируем данные из личного кабинета платформы в соответствующие поля консоли и сохраняем изменения:


Шаг 4. Проверяем корректность настроек SSO (OAuth) перед началом использования

После выполнения всех необходимых действий можно проверить их корректность, нажав на кнопку “Проверить работу” в подразделе “Настройки SSO” раздела “Бизнес” личного кабинета:

Если ошибка в значении Client id, вас перебросит на страницу входа в Google со следующим сообщением:

Если же ошибка в значении Client secret, будет выводиться сообщение следующего вида:

Проверьте и введите корректные значения Client id и/или Client secret!


Если не был подтвержден домен, то будет выводится следующая ошибка:

Проверьте правильность подтверждения домена!


Если все данные были введены правильно, появится сообщение об успешной проверке:

Готово!

👆 На этом пока всё