Плагин аутентификации пользователей «OAuth 3КL». Настройка авторизации через социальные сети

Алексей Городков, Сергей Гаврилов
11.12.24
Статья посвящена плагину «OAuth 3KL», который позволяет пользователям регистрироваться и входить в СЭО 3KL, используя аккаунт в социальной сети без необходимости ввода логина и пароля. . . . . . .
Плагин аутентификации «OAuth 3KL» дает возможность использования зарегистрированных аккаунтов пользователей социальных сетей для авторизации в СЭО 3KL. Статья актуальна для плагина версии СЭО 3КL не ниже 3.5.9a. Если ваша версия более поздняя, руководствуйтесь врезками непосредственно в тексте статьи. Чтобы воспользоваться полным функционалом плагина, рекомендуем обновиться. 
До версии 4.1.11b плагин «OAuth 3КL» носил название «OTOAuth».
Внимание! Для корректной работы авторизации в СЭО 3KL с использованием аккаунта в социальной сети, у пользователя в социальной сети в личных настройках должен быть указан email.

1. Общая информация

Плагин «Аутентификация пользователей OAuth 3KL» позволяет пользователям регистрироваться и входить в СЭО 3KL, используя аккаунт в какой-либо социальной сети, корпоративном портале или личном кабинете (facebook, vk, Битрикс24, Яндекс и т.д.) без необходимости ввода логина и пароля. 

В плагине реализована интеграция с более чем десятью популярными российскими и международными социальными сетями и сервисами, чей перечень постоянно расширяется и дополняется. Перечень всех интегрированных социальных сетей и сервисов с подробным описанием настройки авторизации содержится в Разделе 4 «Особенности настройки интегрированных источников авторизации». Также есть возможность по собственному усмотрению добавлять и настраивать дополнительных провайдеров. Плагин использует защищенный и надежный протокол авторизации OAuth 2.0, по которому данные пользователей считываются и передаются автоматически из их профилей в социальных сетях.

В отличие от модуля авторизации OAuth 2, который доступен в Community-версии Moodle и в СЭО 3KL, плагин OTOAuth присутствует исключительно в СЭО 3KL и обладает рядом уникальных преимуществ:

  • Гибкая привязка аккаунтов. Плагин позволяет присоединить к существующей учетной записи пользователя в  СЭО 3KL одну или несколько учетных записей в социальных сетях/корпоративных порталах/личных кабинетах, входить в систему через любую из них, либо отсоединить их в любой момент. Привязка аккаунтов осуществляется через блок «Привязка к социальной сети», который добавляется администратором в Личный кабинет для всех пользователей.
  • Более интуитивно понятные настройки плагина. 
  • Возможность включать/отключать режим подтверждения (активации) учетных записей зарегистрировавшихся через социальные сети пользователей.
  • Наличие документации на русском языке.
  • Поддержка «из коробки» и более удобная настройка интеграции российских социальных сетей, таких как ВКонтакте, Яндекс, Одноклассники.

Использование плагина «Аутентификация пользователей OAuth 3KL» упрощает работу для слушателей и администраторов СЭО 3KL:

  • Не требуется придумывать, запоминать и повторно вводить логин и пароль (сквозная авторизация), используется меньше учетных данных, можно использовать единый логин и пароль, например, от аккаунта в наиболее часто используемой социальной сети. 
  • Повышается достоверность информации о пользователях, особенно при авторизации через ЕСИА (Госуслуги). При авторизации через ЕСИА обеспечивается максимально точное и надежное удостоверение личности слушателей аналогом цифрового паспорта, вероятность сообщения недостоверных данных практически отсутствует.
  • Укорачивается путь к оплате курса и повышается конверсия для сторонних пользователей .
  • При авторизации через корпоративные порталы импортируется официальная, полная и достоверная информация учетных записей, единообразные имена и адреса электронной почты, нет необходимости редактировать недостающие данные профилей пользователей, можно сопоставлять данные/оценки в СЭО 3KL с аналитикой из корпоративного портала/CRM по слушателям, данные синхронизированы, и т.д. 
  • Значительно повышается уверенность в том, что под учетной записью работает ее истинный владелец, все авторизующиеся пользователи имеют полную привязку к реальной личности, заметно снижается риск повторного использования профиля пользователя третьими лицами.
  • При авторизации через собственно социальные сети выполняется привязка данных разных аккаунтов к одному профилю в СЭО 3KL, достигается консолидация разных пользовательских данных, обеспечивается их хранение в едином месте  в системе. 

-Вернуться к содержанию-

2. Процедура авторизации через социальные сети

Пользователь, авторизовавшись в социальной сети, входит в СЭО 3KL автоматически без повторного ввода своих учетных данных, сам процесс авторизации проходит незаметно для пользователя.  

Общая схема процедуры авторизации выглядит следующим образом:

(a) Администратор СЭО 3KL переходит в меню Настройки-►Администрирование-►Плагины-►Аутентификация-►OAuth 3KL-►Провайдеры, выбирает социальную сеть, авторизацию через которую он хочет включить, отмечает галочкой опцию «Включить авторизацию» (по умолчанию настройка отключена - дефолтное значение поля «Нет») и вводит ключ на странице настроек данной социальной сети плагина OTOAuth

(b) Кнопка с иконкой данной социльной сети появляется на форме входа в СЭО 3KL. Пользователь нажимает на нее и переходит на страницу авторизации социальной сети. 

(c) Если пользователь уже авторизован под своей действующей учетной записью в социальной сети, то при первом входе он подтверждает передачу данных/пользовательское соглашение/политику конфиденциальности и т.д., либо авторизуется.

(d) Социальная сеть перенаправляет пользователя обратно в СЭО 3KL, пользователь автоматически оказывается авторизован в системе под учетной записью данной социальной сети. 

Привязка аккаунтов от социальных сетей осуществляется в следующем порядке:

(e) Пользователь заходит в Личный кабинет СЭО 3KL, в котором администратором установлен блок «Привязка к социальной сети» для всех пользователей. В блоке доступны те социальные сети, которые были настроены для авторизации администратором, но на данном этапе СЭО 3KL «ничего не знает» об учетных записях пользователя в каких-либо социальных сетях.

(f) Чтобы система «узнала» об учетных записях из других соцсетей, ей необходимо это сообщить.  Пользователь нажимает на блок «Привязка к социальной сети», выбирает из списка социальные сети и добавляет свои аккаунты в них к учетной записи в СЭО 3KL. При попытке входа через эти соцсети система будет его авторизовать, не выдавая предупреждений об ошибке. 

Авторизация через социальные сети реализована с использованием открытого протокола OAuth 2.0, который предоставляет возможность авторизоваться в СЭО 3KL и получить некоторое количество данных из рабочего профиля пользователя автоматически. Сервер OAuth 2 стартует сессию и передает идентификатор пользователя (client id) и авторизационный код (code). Этот код приложение скрытно от пользователя передаёт обратно системе, присоединяя к нему свой секретный ключ (client secret). Приложение таким образом подтверждает, что оно то самое приложение, которое известно системе и которое может с ним работать (Рис. 2.1).

Рис. 2.1. Схема протокола авторизации OAuth 2.0

Для подключения авторизации через каждую социальную сеть вам потребуется:

  1. Войти в конкретную социальную сеть под своим аккаунтом.
  2. Создать и настроить специальное приложение для интеграции СЭО 3KL и конкретной социальной сети.
  3. Выполнить настройку способа авторизации самостоятельно или через службу технической поддержки компании «Открытые Технологии», используя уникальные данные, полученные в процессе настройки приложения - идентификатор и секретный кодДля самостоятельной настройки вам потребуются права администратора.

    Чтобы настроить возможность авторизации силами технической поддержки, следует зайти в личный кабинет на клиентском портале по адресу https://clients.opentechnology.ru/cp/и создать заявку-обращение, нажав на «Открыть новую заявку». Далее следует выбрать категорию заявки «Гарантийная техподдержка / настройки прочие», подробно описать задачу и сообщить данные, полученные в процессе настройки приложения.

  4. Начать пользоваться сервисом или дождаться оповещения от службы поддержки о том, что настройка авторизации прошла успешно.

Чтобы включить плагин OAuth 3KL, перейдите в меню Настройки-►Администрирование-►Плагины-►Аутентификация-►Настройки аутентификации. Здесь отображаются все доступные для использования плагины аутентификации, которые есть в системе. Нажмите на пиктограмму «перечеркнутого глаза» (Рис. 2.2). 


Рис. 2.2. Плагин OTOAuth в разделе «Доступные плагины аутентификации»

-Вернуться к содержанию-

3. Основные настройки плагина требуются права администратора

Важно! Действия в данной инструкции с меткой требуются права администратора можно выполнить только при наличии доступа «Полный Администратор». По умолчанию мы предоставляем доступ «Диспетчер-Администратор». Для изменения глобальных конфигураций мы рекомендуем выбрать набор требуемых опций по данной инструкции и обратиться в техническую поддержку с заявкой на конфигурирование системы. Подробнее - в статье «Полный административный доступ».

Перейти к настройкам плагина OTOAuth можно через
блок «Настройки» -►«Администрирование» -►«Плагины» -►«Аутентификация» -►«OAuth 3KL»

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

Страница настраиваемых провайдеров состоит из списка зарегистрированных настраиваемых провайдеров и секции добавления настраиваемого провайдера.

Страницы провайдеров содержат минимальные настройки под каждый сервис интеграции - социальную сеть/корпоративный портал/личный кабинет. 

3.1. Секция «Общие настройки»


Рис. 3.1.1. Общие настройки плагина OTOAuth

Начиная с версии СЭО 3KL 3.5.9a в модуль «Аутентификации пользователей OAuth 3KL» добавлена возможность указать, когда требуется обновлять данные в профиле пользователя при использовании авторизации через социальные сети.

Настройка «Обновление полей учетной записи Moodle» поддерживает следующие опции обновления:

  • При создании учетной записи
  • При каждом входе
  • Во время привязки

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

Примеры использования данной настройки:
Пример 1.
Новые пользователи поступают из доверенного источника (например, внешняя БД или Active Directory), но имеют возможность привязывать дополнительные способы авторизации для своего удобства. Например, привязывать авторизацию через Яндекс или Gmail, социальные сети, ЕСИА или сквозную авторизацию через внутренний портал. Обновление полей учетной записи при этом полностью отключено, т.к. данные в профиль пользователя попадают из доверенного источника, повторного создания и обновления учетной записи не происходит, а данные из дополнительных привязок передавать в профиль не нужно.
Пример 2.
Пользователи регистрируются через социальные сети. После создания учетной записи пользователи имеют возможность ее редактировать, например, скорректировать ФИО или изменить адрес электронной почты. Привязка к социальной сети при этом сохраняется, но данные в профиле остаются те, которые внес пользователь или администратор. Выбрана опция обновления при создании учетной записи, а опции при каждом входе и во время привязки отключены. 

-Вернуться к содержанию-

3.2. Секция «Настройки подтверждения аккаунтов администратором»

Данные настройки позволяют осуществить включение режима подтверждения (активации) учетной записи зарегистрировавшихся через социальные сети пользователей (Рис. 3.2.1).

Пример (сценарий) использования данных настроек:
1. Администратор запрещает активацию аккаунта, созданного через соцсети, включает отправку уведомлений о создании заблокированной учетной записи, настраивает тексты уведомлений.
2. Пользователь регистрируется через соцсеть.
3. Система выдает сообщение пользователю о том, что учетная запись создана и ожидает активации администратором, отправляет уведомление о новой регистрации администратору.
4. Администратор получает уведомление, переходит по ссылке из письма к редактированию учетной записи и активирует аккаунт.
5. Пользователь может авторизоваться в СЭО 3KL.

Рис. 3.2.1. Секция настроек подтверждения аккаунтов администратором плагина
  • Создавать аккаунты не активированными - Значение по умолчанию: «Нет» - Если выбрано «Да», все созданные через Oauth2 аккаунты должны быть активированы администратором. Это - главная опция для включения модерации аккаунтов.
  • Отправлять администратору уведомления - Значение по умолчанию: «Нет» - Если выбрано «Да», информация обо всех созданных через Oauth2 аккаунтах будет отправлена администратору. Включает отправку уведомлений администратору.
  • Заголовок, полный и краткий текст уведомления для администратора можно отредактировать в соответствующих полях формы настроек.

-Вернуться к содержанию-

3.3. Секция «Блокировка полей пользователя»


Рис. 3.3.1. Секция блокировки полей пользователя плагина

Секция содержит перечень полей профиля пользователя (на скриншоте приведена только их часть), для каждого из которых администратор может установить одно из трех значений блокировки:

  • Разблокировано - поле доступно для редактирования.
  • Разблокировано, если пусто - поле доступно для редактирования, если оно не заполнено.
  • Заблокировано - поле будет недоступно для непосредственного редактирования пользователями и администраторами СЭО 3KL. Использование этой опции полезно, если производится управление этими данными во внешней системе аутентификации. 
Примечание. Данные настройки являются общими для всех плагинов авторизации. Подробнее о настройках см. статью «Плагин «Аутентификация СЭО 3KL».

Эти установки позволяют запретить пользователям редактировать некоторые поля профиля. Это полезно для сайтов СЭО 3KL, где данные пользователей редактируются администратором вручную или загружаются с помощью команды «Загрузить пользователей».

Если в данных настройках блокировать поля, необходимые для работы СЭО 3KL, предварительно нужно убедиться, что предоставляется вся информация, необходимая для создания учетной записи, иначе учетная запись не будет работать. Чтобы избежать подобных проблем, можно попробовать установить блокировку в режим «Разблокировано, если пусто».

Полезная информация. Описанные стандартные настройки полей профиля пользователя были значительно расширены в плагине «Аутентификация СЭО 3KL»: с их помощью можно создавать собственные формы регистрации, настраивать поля для форм регистрации, назначать дополнительные свойства полей, и использовать другие возможности настройки пользовательских полей.

-Вернуться к содержанию-

3.4. Интерфейс управления настраиваемыми провайдерами требуются права администратора

Интерфейс управления настраиваемыми провайдерами добавлен в плагин «Аутентификация пользователей OAuth 3KL» в версии СЭО 3KL 3.5.11b. 

Данный интерфейс позволяет создать в СЭО 3KL клиента для кастомной oauth-авторизации.

Путь к настройкам:
Администрирование -► Плагины -► Аутентификация -► OAuth 3KL -► Настраиваемые провайдеры -► Управление провайдерами -► Просмотр списка провайдеров

С помощью кнопки «Добавление настраиваемого провайдера» осуществляется переход к форме добавления нового провайдера (Рис. 3.4.1).


Рис. 3.4.1. Форма добавления нового провайдера плагина

Конфигурация настраиваемого провайдера производится в формате yaml и должна быть представлена в виде ассоциативного массива. Пункт «Конфигурация» в справочном комментарии содержит описание параметров и примеры (см.ниже).

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

Конфигурация

Конфигурация настраиваемого провайдера производится в формате yaml и должна быть представлена в виде ассоциативного массива.
В результате использования настраиваемой конфигурации возможно осуществить авторизацию по протоколу OAuth2.0 с использованием типа авторизации 'authorization_code'.
В качестве ключей этого массива могут служить:
  • clientid - идентификатор клиента (id приложения), предоставляется сервером авторизации после регистрации приложения, используется далее для автоматической подстановки в требуемых запросах;
  • clientsecret - секретный ключ (пароль приложения), предоставляется сервером авторизации после регистрации приложения, используется далее для автоматической подстановки в требуемых запросах;
  • icon - путь до изображения на сервере или закодированное в base64 изображение, используется в качестве иконки вашего способа авторизации;
  • allowregister - разрешена ли регистрация пользователей при помощи настраиваемого провайдера
    • если нет (любое пустое значение или отсутствие параметра) - пользователь сможет авторизоваться только при наличии в СЭО 3KL аккаунта, связанного с аккаунтом настраиваемого провайдера;
    • если да (любое непустое значение, например, '1') - пользователю будет создана учетная запись при успешной авторизации;
  • authorize - конфигурация процесса вызова авторизации и получения авторизационного кода от сервера авторизации. Должна быть представлена в виде массива. В качестве ключей этого массива могут служить:
    • url - адрес, входная точка API авторизации (authorization endpoint)
    • parameters - массив параметров, требуемых сервером авторизации для данного запроса. Для автоматической замены, в значениях массива возможно использовать следующие подстановки:
      • {clientid} - подставляет идентификатор клиента (id приложения)
      • {redirect_uri} - подставляет ссылку переадресации, на которую будет осуществлено перенаправление после выдачи авторизационного кода
      • {state} - подставит автоматически сгенерированную строку, используемую для защиты от подделки запросов (cross-site request forgery)
    Пример:
       authorize:
          url: 'https://oauth.yandex.ru/authorize'
          parameters:
             client_id: '{clientid}'
             redirect_uri: '{redirect_uri}'
             state: '{state}'
             response_type: 'code'
  • accesstoken - конфигурация процесса получения ключа доступа (токена) от сервера авторизации. Должна быть представлена в виде массива. В качестве ключей этого массива могут служить:
    • url - адрес, предназначенный для получения ключа доступа, токена (token endpoint)
    • parameters - массив параметров, требуемых сервером авторизации для данного запроса. Для автоматической замены, в значениях массива возможно использовать следующие подстановки:
      • {clientid} - подставляет идентификатор клиента (id приложения)
      • {clientsecret} - подставляет секретный ключ (пароль приложения)
      • {redirect_uri} - подставляет ссылку переадресации, на которую будет осуществлено перенаправление после выдачи ключа доступа
      • {authorization_code} - подставляет авторизационный код полученный в результате авторизации на предыдущем шаге
    • requesttype - метод осуществления запроса ('get' или 'post')
    • curloptions - для случаев, когда требуется указать особенные параметры запроса, возможно передать массив с опциями, поддерживаемыми библиотекой curl
    • responsetype - ожидаемый формат ответа ('plain' или 'json')
    • responsefields - сопоставление требуемых для авторизации полей с полями, пришедими в результатах запроса к авторизационному серверу
      • token - для данного поля требуется указать название поля из ответа сервера, в котором содержится ключ доступа
    Пример:
       accesstoken:
          url: 'https://oauth.yandex.ru/token'
          parameters:
             client_id: '{clientid}'
             client_secret: '{clientsecret}'
             redirect_uri: '{redirect_uri}'
             code: '{authorization_code}'
             grant_type: 'authorization_code'
          requesttype: 'post'
          curloptions: []
          responsetype: 'json'
          responsefields:
             token: 'access_token'
  • userinfo - конфигурация процесса получения сведений об авторизованном пользователе от сервера авторизации. Получение информации о пользователе в некоторых системах разделено на области, и для получения всех необходимых данных может потребоваться несколько запросов. В связи с этим, значением данного параметра должен являться массив запросов (обратите внимание на дефис в примере). Каждый запрос должен быть представлен также, в виде массива. В качестве ключей запроса могут служить:
    • url - адрес для получения необходимой области информации о пользователе
    • parameters - массив параметров, требуемых сервером авторизации для данного запроса. Для автоматической замены, в значениях массива возможно использовать следующие подстановки:
      • {access_token} - подставляет ключ доступа, полученный в результате исполнения предыдущих операций
    • requesttype - метод осуществления запроса ('get' или 'post')
    • curloptions - для случаев, когда требуется указать особенные параметры запроса, возможно передать массив с опциями, поддерживаемыми библиотекой curl
    • responsetype - ожидаемый формат ответа ('plain' или 'json')
    • responsefields - сопоставление полей пользователя СДО с полями, пришедшими в результатах запроса к авторизационному серверу. Наиболее распространенные поля пользователя СДО:
      • username - логин пользователя в СДО
      • firstname - имя пользователя
      • lastname - фамилия пользователя
      • email - email-адрес пользователя
      • verified - подтверждена ли учетная запись, другими словами точно ли email принадлежит пользователю, который авторизовался; если провайдер предоставляет такие данные или вы уверены, что зарегистрироваться в провайдере можно только подтвердив аккаунт через mail или вы полностью доверяете провайдеру (например, это ваша система и вы точно знаете, что среди ваших пользователей не может быть злоумышленников), то можно использовать поле, предоставленное провайдером или подстановку '{1}' подтверждающую учетную запись без использования поля предоставленного провайдером
      • remoteuserid - идентификатор пользователя на стороне провайдера
      • lang - язык, предпочитаемый пользователем. Можно использовать, если значения соответствуют кодам языковых пакетов, например,
      • picture - адрес с изображением пользователя
    Пример:
       userinfo:
        - url: 'https://login.yandex.ru/info'
          parameters:
             oauth_token: '{access_token}'
             format: 'json'
          requesttype: 'get'
          curloptions: []
          responsetype: 'json'
          responsefields:
             username: 'login'
             email: 'default_email'
             verified: '{1}'
             firstname: 'first_name'
             lastname: 'last_name'
             remoteuserid: 'email'
  • refreshtoken - конфигурация процесса обновления ключа доступа (токена) от сервера авторизации.
  • revoke - конфигурация процесса аннулирования ключа доступа (токена) от сервера авторизации.

Пример кода конфигурации

Ниже в качестве примера приведен код конфигурации для Яндекс. Вы можете указать свои значения clientid и clientsecret для проверки работоспособности конфигурации.

 clientid: 'здесь указывается ваш индивидуальный ID'
clientsecret: 'здесь указывается ваш индивидуальный секретный код'
icon: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAXZJREFUeNrsl9ENgjAQhsEwgCPgBoxQJ0A3wCcelQmME/jMk7qBTmA3kBEYgRG8Jn1ozlYTe8XD9JILAYl8/D3+3iVJjBgx/ivati1UUv1fSgxXwaGEFJBz1311XX/93IxKRTicIIvQKzYjgr2/gZWUwJknbK5hzeXvIA+w7FfjvgeV+r4lsbfALgF2YFcSWt0KXW4csAWHGt6i8w5gJeePDqt2GcPXfYAFVpg7MN4M5KSAxwoyYHANMTWFc+7AuGZL7sA3dL7Smwlb4DMk3tVOjnv7nwPrLbjB3gwq3y0fIFlvkRK4Q+VQtjeUFVQNvLdLwMNVaawtKuYaVHCpYRNa9b4LXdeT2ZoHS0OkXmDJZuKw1LIJLOElNvo3XgoDkJo6jujygXNJ7NCoJEN1bxRTc65nu+DqUimMS0GG7I1nnuoqj13hQZSzrWF1z6BuxxLYYmNBa9cL2GFjSt2eJbDFxkZR1wf4xcY+qNsnMWLEiDFKPAUYANutbimoTIIxAAAAAElFTkSuQmCC'
allowregister: 1
authorize:
      url: 'https://oauth.yandex.ru/authorize'
      parameters:
         client_id: '{clientid}'
         redirect_uri: '{redirect_uri}'
         state: '{state}'
         response_type: 'code'
accesstoken:
      url: 'https://oauth.yandex.ru/token'
      parameters:
         client_id: '{clientid}'
         client_secret: '{clientsecret}'
         redirect_uri: '{redirect_uri}'
         code: '{authorization_code}'
         grant_type: 'authorization_code'
      requesttype: 'post'
      curloptions: []
      responsetype: 'json'
      responsefields:
         token: 'access_token'
userinfo:
    - url: 'https://login.yandex.ru/info'
      parameters:
         oauth_token: '{access_token}'
         format: 'json'
      requesttype: 'get'
      curloptions: []
      responsetype: 'json'
      responsefields:
         username: 'login'
         email: 'default_email'
         verified: '{1}'
         firstname: 'first_name'
         lastname: 'last_name'
         remoteuserid: 'email'

-Вернуться к содержанию-

4. Особенности настройки интегрированных источников авторизации

 4.1. Вконтакте

Для корректной работы авторизации в СЭО 3KL с использованием аккаунта в социальной сети Вконтакте, у пользователя Вконтакте в личных настройках должен быть указан email.

«Вконтакте» - крупнейшая российская социальная сеть, объединяющая множество сервисов и проектов, с ежемесячной российской аудиторией более 73 млн. пользователей. Для настройки возможности авторизации в СЭО 3KL с использованием аккаунта во Вконтакте следует:

a. Войти во Вконктакте.

b. Перейти по ссылке https://vk.com/editapp?act=create (Рис. 4.1.1)


Рис. 4.1.1. Создание приложения во Вконтакте.

c. На отобразившейся форме «Создание приложения» в поле «Название» ввести название приложения (произвольное, буквами латинского алфавита), указать платформу - «Сайт», заполнить поля с адресом сайта и базовым доменом и нажать кнопку «Подключить сайт».

 d. При необходимости подтвердить создание приложения, получив в SMS специальный код подтверждения и затем отправив его Вконтакте. Для подтверждения компания ВКонтакте может позвонить на мобильный телефон, который связан с вашим личным аккаунтом -  трубку брать не надо, а в то время, пока идет вызов, нужно последние четыре цифры номера входящего звонка внести в поле для подтверждения.

 e. На отобразившейся странице в левом меню выбрать пункт «Настройки».


Рис. 4.1.2. Настройки приложения в режиме «разработчика»

f. На странице «Настройки»:

  • убедиться, что в выпадающем списке «Состояние» установлено значение «Приложение включено и видно всем».
  • убедиться, что в выпадающем списке «Open API» установлено значение «Включён».
  • в отобразившемся блоке «Open API» в соответствующих полях указать адрес сайта СЭО 3KL и базовый домен.
  • в поле «Доверенный редирект URL» нужно указать адрес http:///auth/otoauth/redirect.php и нажать кнопку «Сохранить изменения».

На странице «Настройки» также будут отображены значения полей ID приложения и Защищенный ключ, которые следует скопировать и вставить на странице настроек Вконтакте плагина OAuth 3KL в поле «ID приложения» и «Секретный ключ приложения» (Рис. 4.1.1) или отослать в службу поддержки СЭО 3KL .


Рис. 4.1.3. Страница настроек провайдера Вконтакте

-Вернуться к содержанию-

4.2. Одноклассники.ру

«Одноклассники» (ok.ru) — вторая крупнейшая российская социальная сеть. Общее количество зарегистрированных пользователей превышает 330 млн. Ежемесячная посещаемость составляет 45,9 млн. человек только из России, а 19 % российских интернет-пользователей пользуются социальной сетью на ежедневной основе.

Для настройки возможности авторизации в СЭО 3KL с использованием аккаунта в социальной сети Одноклассники следует:

a. Авторизоваться в социальной сети.

b. Перейти по ссылке https://ok.ru/devaccess.

c. На отобразившейся странице установить флажок «Мной прочитаны и принимаются условия соглашения» и нажать кнопку «Получить права разработчика».

d. На отобразившейся странице перейти по ссылке «Перейдите по ссылке».

e. На отобразившейся странице перейти по ссылке «Добавить приложение».

f. На странице Настройки приложения в соответствующие поля ввести название, короткое имя (имя в ссылке) и описание приложения.


Рис. 4.2.1. Основные настройки приложения: название, описание

 g. После этого нажать «Добавить платформу». В открывшемся окне нужно выбрать «OAuth».


Рис. 4.2.2. Основные настройки приложения: OAuth-авторизация, добавление платформы

h. На странице Настройки приложения:

  • в блоке «Ссылки на аватарки и иконки»  можно указать ссылки на соответствующие файлы иконок;
  • в поле «Ссылка на приложение» указать ссылку на главную страницу СЭО 3KL;
  • в поле «Список разрешенных redirect_uri» указать URL-адрес http://ваш_сайт/auth/otoauth/redirect.php;
  • установить флажок «Разрешить клиентскую OAuth авторизацию»;

Нажать кнопку «Сохранить».


Рис. 4.2.3. Основные настройки приложения: иконки, ссылки, редиректы

i. После сохранения введенных данных отобразится окно с уведомлением о том, что на почту, которая привязана к аккаунту Одноклассников, выслано письмо, содержащее информацию о приложении. Пример письма:


Рис. 4.2.4. Пример письма с информацией о приложении

Сведения о приложении (Application ID, Публичный ключ приложения, Секретный ключ приложения) следует вставить на странице настроек Odnoklassniki  плагина OAuth 3KL в полях «ID приложения», «Секретный ключ приложения» (Рис. 4.2.5) или отослать в службу поддержки СЭО 3KL.


Рис. 4.2.5. Страница настроек провайдера Odnoklassniki  

-Вернуться к содержанию-

4.3. LinkedIn

LinkedIn — социальная сеть для поиска и установления деловых контактов, насчитывающая более 500 млн. пользователей в мире и более 1,5 млн. в России. С 4 августа 2016 года социальная сеть заблокирована на территории РФ за нарушение правил хранения персональных данных российских пользователей. LinkedIn предоставляет возможность зарегистрированным пользователям создавать и поддерживать список деловых контактов. 

Для настройки возможности авторизации в СЭО 3KL с использованием аккаунта в Linkedin следует:

a. Войти в Linkedin.

b. Перейти по ссылке https://www.linkedin.com/secure/developer.

c. На отобразившейся странице нажать кнопку «Создать приложение».


Рис. 4.3.1. Создание приложения в LinkedIn

d. На отобразившейся странице ввести необходимые данные и нажать кнопку «Отправить».


Рис. 4.3.2. Основные настройки приложения в LinkedIn

e. Перейти на страницу Настройки, перевести приложение в статус «Эксплуатация» и нажать кнопку «Обновить».


Рис. 4.3.3. Основные настройки приложения в LinkedIn: ключи

f. Перейти на страницу «Аутентификация», в соответствующие поля ввести URL-адрес перенаправления (http:///auth/otoauth/redirect.php) и нажать кнопку «Обновить».


Рис. 4.3.4. Основные настройки приложения в LinkedIn: редиректы

Данные о ключах аутентификации (Идентификатор клиента и Секретный ключ клиента), отображенные на странице «Аутентификация» в соответствующем блоке, следует вставить на странице настроек Linkedin плагина OAuth 3KL в полях «ID приложения», «Секретный ключ приложения» (Рис. 4.3.5) или отослать в службу поддержки СЭО 3KL.


Рис. 4.3.5. Страница настроек провайдера LinkedIn

-Вернуться к содержанию-

4.4. Яндекс

 Яндекс - крупнейшая российская поисковая система и интернет-портал, объединяющая несколько разнообразных российских и международных сервисов . Плагин поддерживает OAuth-авторизацию в СЭО 3KL через API Яндекс ID. 

Для настройки возможности авторизации в СЭО 3KL с использованием аккаунта в Яндексе следует:

a. Войти в Яндекс.

b. Перейти на OAuth-сервер по ссылке https://oauth.yandex.ru/client/my,  чтобы зарегистрировать приложение 

c. На отобразившейся странице нажать кнопку «Зарегистрировать новое приложение».

 
Рис. 4.4.1. Создание приложения в Яндекс

d. На странице «Создание приложения»:

  • в поле Название ввести название приложения;
  • в списке Права выбрать элемент API Яндекс.Паспорта;
  • установить флажки:
    Доступ к адресу электронной почты;
    Доступ к дате рождения;
    Доступ к логину, имени и фамилии;
    Доступ к портрету пользователя.
  • в поле Callback URL ввести адрес http://ваш_сайт/auth/otoauth/redirect.php
  • нажать кнопку «Создать приложение».


Рис. 4.4.2., Рис 4.4.3. Создание приложения в Яндекс: название, описание, API

e. В результате проделанных операций отобразится страница с данными (ID и пароль), которые требуется скопировать и отослать в службу поддержки СЭО 3KL: 

 
Рис. 4.4.4. Данные приложения в Яндекс: ID, пароль

Сведения о приложении следует вставить на странице настроек Yandex плагина OAuth 3KL в полях «ID приложения», «Секретный ключ приложения» (Рис. 4.4.5) или отослать в службу поддержки СЭО 3KL.


Рис. 4.4.5. Страница настроек провайдера Яндекс

-Вернуться к содержанию-

 4.5. Mail.ru

Mail.ru - русскоязычный интернет-портал, объединяющий различные тематические проекты и сервисы: почту, социальную сеть, облачное хранилище, мессенджеры и т.д. Плагин поддерживает OAuth-авторизацию в СЭО 3KL через API Mail.ru, позволяя использовать для авторизации данные аккаунта пользователя. Для настройки возможности авторизации в СЭО 3KL с использованием аккаунта Mail.ru следует:

a. Авторизоваться в Mail.ru.

b. Перейти по ссылке http://api.mail.ru/sites/my/add/.

c. На отобразившейся странице установить флажок «Я принимаю правила использования Платформы@Mail.ru» и нажать кнопку «Продолжить».

 d. На отобразившейся странице в соответствующих полях ввести название сайта (например, Moodle) и адрес главной страницы СЭО 3KL и нажать кнопку Продолжить.


Рис. 4.5.1. Создание приложения на Mail.ru

Файл receiver.html можно не использовать, современные стандарты не требуют его применения.

e. На отобразившейся странице перейти по ссылке «Пропустить».


Рис. 4.5.2. Создание приложения на Mail.ru: receiver.html

После успешного выполнения операций отобразится страница с данными сайта (ID, Приватный ключ, Секретный ключ). 


Рис. 4.5.3. Создание приложения на Mail.ru: ID, приватный ключ, секретный ключ

e. Полученные данные следует вставить на странице настроек Mail.ru плагина OAuth 3KL в полях «ID приложения», «Секретный ключ приложения», «Приватный ключ приложения» (Рис. 4.5.4) или отослать в службу поддержки СЭО 3KL.


Рис. 4.5.4. Страница настроек провайдера Mail.ru

-Вернуться к содержанию-

 4.6. GitHUB

GitHub — крупнейший веб-сервис для хостинга IT-проектов и совместной разработки, основанный системе контроля версий Git и разработанный на Ruby on Rails и Erlang. Плагин поддерживает OAuth-авторизацию в СЭО 3KL через API GitHub, позволяя использовать для авторизации данные аккаунта пользователя. Для настройки возможности авторизации в СЭО 3KL с использованием аккаунта GitHUB следует: 

a. Войти в GitHUB.

b. Перейти по ссылке https://github.com/settings/applications/new

c. На отобразившейся странице ввести:

  • в поле Application name наименование приложения;
  • в поле Homepage URL адрес http://ваш_сайт/auth/otoauth/redirect.php
  • в поле Application description описание приложения;
  • в поле Authorization callback URL адрес сайта, на который пользователь возвращается после того, как он разрешил или отказал приложению в доступе (тот же адрес http://ваш_сайт/auth/otoauth/redirect.php).

и нажать кнопку Register application.


Рис. 4.6.1. Создание приложения в GitHUB: название, описание, адрес

 d. В результате проделанных операций отобразится страница с данными (Client ID и Client Secret)


Рис. 4.6.2. Создание приложения в GitHUB: Client ID, Client secret

Полученные данные следует скопировать и вставить на странице настроек GitHub плагина OAuth 3KL в полях «ID приложения в GitHUB» и «Секретный ключ приложения в GitHUB» (Рис. 4.6.3) или отослать в службу поддержки СЭО 3KL.


Рис. 4.6.3. Страница настроек провайдера GitHUB

-Вернуться к содержанию-

4.7. MSN

 MSN (Microsoft Network) - крупный интернет-провайдер и веб-портал, принадлежащий Microsoft и объединящий различные приложения, программы и службы с единой точкой входа. Для настройки возможности авторизации в СЭО 3KL  с использованием аккаунта в MSN следует:

a. Войти в аккаунт на microsoft.com.

b. Перейти по ссылке https://apps.dev.microsoft.com и далее на портал Microsoft Azure. 

c. На отобразившейся странице нажать кнопку «Регистрация приложения» (Рис. 4.7.1). 


Рис. 4.7.1. Регистрация приложения в Microsoft Azure

d. На отобразившейся странице в сответствующем поле ввести название приложения. В блоке «Выберите платформу» из выпадающего списка выберите «Веб», а в поле URL-адреса перенаправления введите адрес http://ваш_сайт/auth/otoauth/redirect.php. Нажмите кнопку «Зарегистрировать».  


Рис. 4.7.2. Основные настройки приложения в Microsoft Azure

e. В блоке «Сертификаты и секреты» нажмите кнопку «Новый секрет клиента». Скопируйте и сохраните полученный пароль в безопасном месте.


Рис. 4.7.3. Сертификаты и секреты приложения в Microsoft Azure

f. Скопируйте код приложения из раздела «Манифест» и сохраните его. 


Рис. 4.7.4. Данные приложения в формате JSON в разделе «Манифест»

Полученные данные - код приложения и пароль - следует вставить на странице настроек MSN плагина OAuth 3KL в полях «ID приложения в Microsoft Messenger» и «Секретный ключ приложения в Microsoft Messenger» (Рис. 4.7.5) или отослать в службу поддержки СЭО 3KL.


Рис. 4.7.5. Страница настроек провайдера MSN

-Вернуться к содержанию-

4.8. ЕСИА (портал Госуслуг)

Интеграция с порталом «Госуслуги», позволяющая пользователям регистрироваться и авторизовываться в СЭО 3KL через ЕСИА, добавлена в СЭО 3KL в версии 3.5.8b, а в версии 3.5.9a добавился вызов страницы авторизации пользователя ЕСИА в новом всплывающем окне браузера.
С версии 4.1.11b оптимизирован механизм входа в СЭО 3KL через ЕСИА. Изменения коснулись: методов API интеграции; хранения пользовательских данных, получаемых от ЕСИА; интерфейса и настроек провайдера ЕСИА.

Данный способ авторизации значительно повышает уверенность в том, что под определенной учетной записью работает именно ее истинный удостоверенный владелец и снижает вероятность ее передачи другому лицу (т.к. передача доступа в ЕСИА другим людям несет большие риски для ее владельца). Соответственно, пользователи, авторизующиеся в СЭО 3KL через ЕСИА имеют большую привязку к реальной личности, чем пользователи, авторизующиеся стандартным способом.

Для настройки возможности авторизации в СЭО 3KL с использованием аккаунта в ЕСИА (портал Госуслуг) следует:

1. Ознакомиться с документацией на странице https://partners.gosuslugi.ru/catalog/esia в разделе «Как подключиться к сервису?» и пройти процедуру подключения.

2. Получить следующие данные, необходимые для интеграции:

  • На стороне ЕСИА, согласно руководству, описанному по ссылке https://partners.gosuslugi.ru/catalog/esia:
    • Client_id приложения ЕСИА (мнемоника);
    • Код для подписи запроса;
    • Хэш сертификата (fingerprint сертификата) системы-клиента в hex–формате;
  • Ключ активации для КриптоПро CSP 5.0, серверная (приобретается отдельно). Контроллер электронной подписи должен быть установлен на сервер.
  • Сертификат ключа электронной цифровой подписи.

3. Обратится в техническую поддержку ООО «Открытые технологии» с соответствующей заявкой для настройки интеграции на сервере.

4. Настройки авторизации производятся в разделе Администрирование -> Плагины -> Аутентификация -> OAuth 3KL
/admin/settings.php?section=authsettingotoauth

Вы можете ознакомиться с основными настройками данного раздела в пункте статьи «Основные настройки плагина».

5. Помимо общих настроек плагина OAuth 3KL, нужно внести изменения в секцию настроек для провайдера ЕСИА. Полученные от ЕСИА данные следует вставить на странице настроек ЕСИА плагина OAuth 3KL (страница, расположенная по пути: Администрирование -> Плагины -> Аутентификация -> OAuth 3KL -> Провайдеры -> ЕСИА) в полях «Client id приложения ЕСИА» (поз. 1 Рис. 4.8.1), «Код подписи запроса» (поз. 2 Рис. 4.8.1) и Хэш сертификата (fingerprint сертификата) системы-клиента в hex–формате (поз. 3 Рис. 4.8.1) или отослать данные в службу поддержки СЭО 3KL. Также необходимо переключить режим работы авторизации через ЕСИА на значение «Основной» (поз. 4 Рис. 4.8.1).


Рис. 4.8.1. Страница настроек провайдера ЕСИА (Госуслуги).

Начиная с версии Moodle 3.5.9a в модуль «Аутентификации пользователей OAuth 3KL» добавлена возможность вызова страницы аутентификации пользователя ЕСИА в новом всплывающем окне браузера во время авторизации в СЭО 3KL (Рис. 4.8.3).

Как это работает:
По умолчанию в настройках плагина «OAuth 3KL» опция «Открывать страницу аутентификации пользователя в новом всплывающем окне браузера (в виде popup)» имеет значение «Нет». Администратор может оставить дефолтное значение или установить значение «Да» (Рис. 4.8.2).

Рис. 4.8.2. Опция «Открывать страницу аутентификации пользователя в новом всплывающем окне браузера (в виде popup)».

В последнем случае, после применения настройки при авторизации пользователя через сервис, страница авторизации откроется в новом всплывающем окне (Рис . 4.8.3). 


Рис. 4.8.3. Страница авторизации ЕСИА во всплывающем окне.

 Данные, которые могут запрашиваться из ЕСИА:

  • Идентификационный номер в ЕСИА (openid). Служебное поле, которое используется для интеграции и запрашивается обязательно. В профиле пользователя не отображается.
  • Фамилия. Сохраняется в стандартном поле профиля пользователя lastname.
  • Имя. Сохраняется в стандартном поле профиля пользователя firstname.
  • Отчество. Сохраняется в стандартном поле профиля пользователя middlename.
  • СНИЛС. Для того, чтобы поле сохранилось в СЭО 3KL, необходимо создать кастомное поле профиля пользователя с названием otoauth_esia_snils.
  • Дата рождения. Для того, чтобы поле сохранилось в СЭО 3KL, необходимо создать кастомное поле профиля пользователя с названием otoauth_esia_snils.
  • Пол. Для того, чтобы поле сохранилось в СЭО 3KL, необходимо создать кастомное поле профиля пользователя с названием otoauth_esia_gender (пол сохраняется в формате «F»/«M») или с названием otoauth_esia_gender_ru (пол сохраняется в формате «М»/«Ж», определяемом языковыми строками «esia_gender_f_ru» и «esia_gender_m_ru» в компоненте auth_otoauth).
Обратите внимание, для сохранения из ЕСИА таких данных как СНИЛС, дата рождения, пол необходимо создать кастомные поля профиля пользователя с точным названием, приведенным в инструкции. Подробнее о том, как добавить кастомные поля профиля пользователя, читайте в инструкции «Добавление кастомных (настраиваемых) полей в профиль пользователя».

-Вернуться к содержанию-

4.9. Google

 Google - международная технологическая компания, развивающая и поддерживающая ряд интернет-сервисов и продуктов, в том числе поисковик, почтовые сервисы, социальную сеть и др.  Сайты Google считаются самыми посещаемыми сайтами интернета. Для настройки возможности авторизации в СЭО 3KL  с использованием аккаунта в Google следует:

a. Войти в Google.

b. Перейти по ссылке https://console.cloud.google.com/home/dashboard 

c. В отобразившемся окне выбрать существующий проект или создать новый нажатием на кнопку «New project» (Рис. 4.9.1).


Рис. 4.9.1. Создание приложения в контрольной панели Google Cloud

d. Перейти в раздел «APIs & services» на вкладку «OAuth consent screen» и выбрать начальные параметры для регистрации приложения: «Internal» или «External» (Рис. 4.9.2). 


Рис. 4.9.2. Создание приложения в контрольной панели Google Cloud: параметры OAuth

e. В соответствующие поля ввести данные (адрес собственной электронной почты и название приложения, которое будет видно пользователям) и сохранить (Рис. 4.9.3).


Рис. 4.9.3. Параметры приложение в Google: название, email

 f. В разделе «APIs & Services» перейти на вкладку «Credentials», нажать на кнопку «Create credentials» и выбрать «OAuth client ID». Выбрать тип приложения «Web application». В поле «Name» ввести название приложения. В поле «Authorized redirect URIs» добавить адрес http://ваш_сайт/auth/otoauth/redirect.php и нажать кнопку «Create» (Рис. 4.9.4). 


Рис. 4.9.4. Настройка ключей доступпа приложения в Google (credentials)

В результате проделанных операций отобразится окно OAuth Client с данными (идентификатор и секретный код клиента) (Рис. 4.9.5).


Рис. 4.9.5. OAuth-данные приложения в Google: идентификатор, секретный код

Указанные данные - идентификатор и секретный код клиента - следует вставить на странице настроек Google  плагина OAuth 3KL в полях «ID приложения в Google» и «Секретный ключ приложения в Google» (Рис. 4.9.6) или отослать в службу поддержки СЭО 3KL.


Рис. 4.9.6. Страница настроек провайдера Google

-Вернуться к содержанию-

4.10. Корпоративный Google

Бизнес-аккаунт Google, или Google Workspace (ранее - G Suite) - это расширенный набор возможностей и приложений для аккаунта Google, по сравнению с бесплатным аккаунтом физического лица. Главное отличие - это возможность создавать корпоративные почтовые адреса, новые элементы управления сервисами в консоли панели управления, возможность коллективного редактирования документов и неограниченное количество ревизий документов, дополнительные инструменты безопасности и администрирования и т.д.

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

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

Для настройки возможности авторизации в СЭО 3KL с использованием аккаунта в Google Workspace следует:

a. Зарегистрироваться на https://workspace.google.com/ и создать сервисный аккаунт. 

b. Авторизовавшись, зайти в контрольную панель Google API на https://console.cloud.google.com/. Создать проект, зарегистрировать приложение, получить идентификатор и секретный код клиента в порядке, описанном в п. 4.9. 

Полученные данные - идентификатор и секретный код клиента - следует вставить на странице настроек Корпоративный Google  плагина OAuth 3KL в полях «ID приложения в Google для корпоративных аккаунтов» и «Секретный ключ приложения в Google для корпоративных аккаунтов» (Рис. 4.10.1) или отослать в службу поддержки СЭО 3KL. Дополнительно в соответствующем поле следует указать корпоративный домен. 


Рис. 4.10.1. Страница настроек провайдера Корпоративный Google

-Вернуться к содержанию-

4.11. Битрикс24

Возможность регистрации и авторизации в СЭО 3KL через Битрикс24 добавлена в плагине «Аутентификация пользователей OAuth 3KL» в версии СЭО 3KL 3.9.11b. Для успешной авторизации у пользователя должна быть действующая учетная запись в CRM Битрикс24.

Для настройки возможности авторизации в СЭО 3KL с использованием аккаунта в Битрикс24 необходимо:

a. Авторизоваться в CRM Битрикс24 с уровнем прав полного Администратора. 

b. Перейти в раздел «Авторизация» для создания приложения.

c. Зарегистрировать приложение, получить код приложения и секретный ключ приложения, скопировать и сохранить их.

Полученные данные следует вставить на странице настроек Битрикс24 плагина OAuth 3KL в полях«Код приложения (client_id)» (поз. 1 Рис. 4.11.1), «Ключ приложения (client_secret)» (поз. 2 Рис. 4.11.1) или отослать в службу поддержки СЭО 3KL.  В поле «URL вашего Битрикс24» укажите URL-адрес вашей CRM из адресной строки браузера, в котором открыта ваша CRM (поз. 3 Рис. 4.11.1). 


 Рис. 4.11.1. Страница настроек провайдера Битрикс24

Сохраните изменения. На форме входа в вашу СЭО 3KL должна появиться кнопка с гиперссылкой на страницу авторизации Битрикс24.

При нажатии на кнопку входа с использованием учетной записи Битрикс24 пользователь будет перенаправлен на страницу авторизации Битрикс24 для ввода логина и пароля (Рис. 4.11.2). 


Рис. 4.11.2. Страница авторизации в Битрикс24

После ввода корректных логина и пароля Битрикс24 перенаправит пользователя в СЭО 3KL, и та авторизует его в системе. Если авторизованная сессия пользователя в Битрикс24 длится (не завершена), то вход в систему СЭО 3KL произойдет без перенаправления на страницу авторизации Битрикс24. 

-Вернуться к содержанию-

4.12. УНТИ 20.35

Возможность регистрации и авторизации в СЭО 3KL через сервис УНТИ 20.35 добавлена в плагине «Аутентификация пользователей OAuth 3KL» в версии СЭО 3KL 3.9.11b. Для успешной авторизации у пользователя должна быть действующая учетная запись на портале АНО «Университет национальной технологической инициативы 2035» (Университет 2035) по адресу https://2035.university/ (через информационную платформу LEADER-ID по адресу https://leader-id.ru).

 Для настройки возможности авторизации в СЭО 3KL с использованием аккаунта УНТИ 20.35 необходимо:

 a. Направить запрос в службу поддержки Университета 20.35 в свободной форме о намерении интегрировать сервис в СЭО 3KL.

b.  Получить, заполнить и отправить анкету.

c. Получить в ответном сообщении от Университета 20.35 данные, необходимые для интеграции с СЭО 3KL: ID приложения, секретный ключ приложения.

 Полученные данные следует вставить на странице настроек УНТИ 20.35 плагина OAuth 3KL в полях«SSO client ID» (поз. 1 Рис. 4.12.1), «SSO client_secret» (поз. 2 Рис. 4.12.1) или отослать в службу поддержки СЭО 3KL.  В поле «SSO URL для авторизации» укажите URL-адрес страницы авторизации в системе Университета 2035 (поз. 3 Рис. 4.12.1). По умолчанию это https://sso.u2035test.ru - ссылка на страницу авторизации в личном кабинете LEADER-ID.


Рис. 4.12.1. Страница настроек УНТИ 20.35

При первом входе в СЭО 3KL пользователь будет перенаправлен на страницу входа в личный кабинет Университета 2035, где система предложит ему войти с помощью учетной записи или через Госуслуги (Рис. 4.12.2).


Рис. 4.12.2. Страница авторизации в системе Университета 2035

Следует выбрать первый вариант и ввести логин и пароль, затем принять пользовательское соглашение, политику конфиденциальности и подтвердить запрос на предоставление согласия передать данные пользователя. 

Особенностью авторизации через УНТИ 20.35 является использование на стороне системы Университет 2035 файлов cookies и аналогичных технологий для хранения логина на аппаратно-программном обеспечении пользователя, с целью последующей автоматической авторизации на портале. Это приводит к тому, что при повторных входах в личный кабинет в системе Университет 2035 пользователь будет автоматически авторизован на основании данных в файлах cookies, хранящихся в браузере. Новый пользователь не сможет войти в систему Университет 2035 и в СЭО 3KL до удаления файлов cookies. 

Названную особенность следует учитывать каждый раз, когда возникает необходимость переключиться на другую учетную запись (перелогиниться) в СЭО 3KL, например, на служебном или лабораторном компьютере. Перед каждым входом в СЭО 3KL через учетную запись УНТИ 20.35 рекомендуется удалять все файлы cookie и данные сайтов https://2035.university и https://leader-id.ru в настройках браузера.

О том, как настроить передачу цифрового следа из СЭО 3KL в LRS Университета 20.35 читайте в статье «Поддержка стандарта Цифрового следа. Элемент курса xAPI Launch Link (ранее Tin Can Launch Link)».

-Вернуться к содержанию-

4.13. Мое образование (ГИС СЦОС)

Возможность авторизации через государственную информационную систему «Современная цифровая образовательная среда» (ГИС СЦОС) была добавлена в СЭО 3KL в версии 4.1.13b.

Для настройки возможности авторизации в СЭО 3KL с использованием аккаунта на портале Мое образование (СЦОС) необходимо:

1. Провести полную интеграцию с ГИС СЦОС и подключиться к защищенному контуру ГИС СЦОС.

Подробнее о том, как выполнить интеграцию с ГИС СЦОС читайте в статье «Интеграция Cреды электронного обучения 3KL и Moodle с ГИС СЦОС». Выполнить необходимо все пункты инструкции.

2. В процессе интеграции получить данные, необходимые для настройки авторизации в СЭО 3KL с помощью ГИС СЦОС: Идентификатор платформы (client_id) и Секретный ключ доступа (client_secret).

Полученные данные следует вставить на странице настроек плагина авторизации через ГИС СЦОС в настройках «Идентификатор платформы (client_id)» (поз. 2 Рис. 4.13.1) и «Секретный ключ доступа (client_secret)» (поз. 3 Рис. 4.13.1).

Рис. 4.13.1. Настройки плагина авторизации через ГИС СЦОС.

Также авторизацию через СЦОС необходимо включить, поставив галочку в соответствующей настройке (см. поз. 1 Рис. 4.13.1), и выбрать в качестве домена для подключения «auth.online.edu.ru (рабочая среда)» (см. поз. 4 Рис. 4.13.1). В настройке «Разрешить авторизацию для неподтвержденных аккаунтов?» (см. поз. 5 Рис. 4.13.1) можно определить, смогут ли пользователи с неподтвержденным аккаунтом на Госуслугах авторизоваться через СЦОС, при значении = Да авторизация неподтвержденных аккаунтов будет разрешена.

-Вернуться к содержанию-

5. Примеры и решения

  • У организации есть корпоративный портал Битрикс24, где заведены все сотрудники. Организация хочет дать им всем доступ к СЭО 3KL под теми же именами. Для этого в плагине OTOAuth была включена авторизация через Битрикс24, сделаны настройки и добавлена кнопка авторизации через Битрикс24 на форму входа в систему. Учетные записи сотрудников были привязаны к учетным записям в СЭО 3KL. Сотрудники успешно авторизуются и входят в СЭО 3KL через свои аккаунты в Битрикс24.
  • Образовательное учреждение ДПО продает на своем портале курсы и выдает сертификаты о пройденном обучении, оно хочет чтобы регистрация новых слушателей происходила с гарантированным подтверждением удостоверения их личности. Была включена авторизация через ЕСИА (Госуслуги). Слушатели регистрируются в системе через учетные записи в ЕСИА (Госуслуги), в дальнейшем удостоверенные аналогом цифрового паспорта пользователи автоматически входят в СЭО 3KL.
  • Образовательное учреждение ДПО продает на своем портале курсы и выдает сертификаты о пройденном обучении, оно хочет, чтобы вход в систему был возможен только для подтвержденных администратором профилей пользователей, купивших курсы. Была включена авторизация через ЕСИА (Госуслуги) и соцсети, в настройках плагина в секции настроек подтверждения аккаунтов администратором установлено «Создавать аккаунты неактивированными» и «Отправлять администратору уведомления». Слушатели регистрируются в системе, но доступ к ней им закрыт до подтверждения учетной записи администратором. Администратор переходит на карточку пользователя и деактивирует параметр «Учетная запись заблокирована». После этого слушатели успешно авторизуются в системе и имеют доступ к ее ресурсам.
  • Университет зарегистрировал всех студентов очной формы обучения в СЭО 3KL и выслал им логины и пароли по электронной почте. Студенты часто теряют и забывают свои учетные данные, поэтому университет хочет привязать к их профилям аккаунты в социальных сетях. Была включена авторизация через ВКонтакте, Яндекс и Одноклассники, аккаунты в этих соцсетях были привязаны к учетной записи в СЭО 3KL. Студенты авторизуются и совершают быстрый вход в систему через любую из данных соцсетей, а администратор СЭО 3KL видит в системе связанные аккаунты студентов.
  • Российско-казахстанская ассоциация дополнительного бизнес-образования участвует в совместном проекте, набор новых слушателей за границей. Деловые контакты активно поддерживаются и развиваются в социальной сети LinkedIn, поэтому ассоциация решила предоставить слушателям авторизацию через нее. Была выполнена настройка способа авторизации, и теперь слушатели входят в СЭО 3KL сразу через свои профили в LinkedIn.
  • Организация ведет онлайн-уроки по веб-разработке и организует курсы и вебинары по разработке сайтов на нескольких стеках технологий. Все слушатели имеют аккаунты и репозитории в GitHub, где выкладывают выполненные задания, а преподаватели проверяют их, дают оценки и совершают действия с ветками. Для упрощения входа в систему и взаимодействия с системой контроля версий организация хочет, чтобы слушатели авторизовались в СЭО 3KL через личный кабинет в GitHub. Был добавлен способ авторизации через GitHub, сделаны настройки и включена авторизация. Слушатели теперь входят в систему через GitHub, а администраторы системы видят их ассоциированные аккаунты.
  • Международная компания имеет бизнес-аккаунт в Google Workspace (ранее - Google Suite), использует корпоративный домен, почтовый сервер и сервисы Google. Она регистрирует почтовые ящики студентов на Gmail и высылает им доступы. Компания хочет привязать Google-аккаунты пользователей к их профилям в СЭО 3KL и обеспечить сквозную авторизацию. Была включена авторизация через Google и корпоративный Google, сделаны необходимые настройки и привязаны учетные записи. Пользователи теперь успешно авторизуются через аккаунты Google.
  • Учебное заведение участвует в программе Университета национальной технологической инициативы 2035 (Универитет 2035), по которой все слушатели должны регистрироваться на портале УНТИ 20.35 и авторизоваться под своей учетной записью на портале Университета 2035 для доступа к учебным материалам, онлайн-курсам и иным сервисам. По условиям программы учебное заведение обязано обеспечить сквозную авторизацию слушателей в СЭО 3KL через аккаунты в системеУниверситета 2035, для чего в настройках плагина была включена авторизация через УНТИ 20.35 и сделаны необходимые настройки. Слушатели были проинструктированы об особенности авторизации с использованием файлов cookies на стороне Университета 2035, и перед каждым входом удаляют их и данные сайтов в настройках браузера. 
  • У ВУЗа интеграция СЭО 3КL c Битрикс24 работает следующим образом: в Битрикс24 зарегистрированы только операторы технической поддержки — сотрудники ВУЗа; в СЭО 3КL установлен виджет открытых линий битрикс, добавленный на страницы СЭО 3КL как дополнительный html-код; все авторизованные в СЭО 3КL пользователи  могут задавать вопросы операторам, используя чат виджета.
    Использование кода виджета «как есть» имело проблему с идентификацией задающих вопросы: персональные данные пользователей, зарегистрированных только в СЭО 3КL, в Битикс24 не передаются, поэтому, если пользователь не указал свою фамилию или контактные данные, узнать, кто именно написал сообщение, было невозможно.
    Добавление в код виджета шорткода (например, userid или fullname) позволило решить эту проблему: в форме вопроса (и, соответственно, в сообщении чата) теперь автоматически формируется ФИО пользователя, отправляющего сообщение. Это позволяет однозначно идентифицировать пользователя и, при необходимости, связаться с ним.
Фрагмент кода виджета с добавленными шорткодами fullname (ФИО пользователя) и username (логин пользователя):

-Вернуться к содержанию-

Теги: авторизация, регистрация
Рейтинг ответа: 5 (1 оценка)

Комментарии запрещены