Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

With single sign-on, your employees won’t have to constantly type their LMS password. If they’re signed into your corporate website or email server, iSpring Learn authenticates them automatically. No need to enter their details again!

Технология единого входа — технология, при использовании которой пользователь переходит из одного раздела портала в другой без повторной аутентификации. 

Технология единого входа (англ. Single Sign-On) - это механизм, позволяющий пользователю пройти аутентификацию (вход со своими учетными данными) единовременно и получить доступ к различным программным продуктам, используя один идентификатор.

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

...

SAML, JWD и OpenID — это технологии единого входа, благодаря которым пользователь может автоматически авторизоваться на всех проектах компании. Вашему сотруднику или студенту достаточно будет войти в аккаунт на корпоративном сайте или залогиниться в свою рабочую электронную почту  и авторизация в iSpring Learn будет выполнена без повторного ввода логина и пароля.

Оглавление

Единый вход с использованием SAML

iSpring Online позволяет использовать SAML для реализации единого входа. SAML – это открытый XML стандарт обмена данными для осуществления аутентификации между поставщиком учётных записей (англ. identity provider, или IdP) и поставщиком сервиса (англ. service provider, или SP). В данном случае, сервисом выступает iSpring Online.

ля настройки iSpring Online как поставщика услуг (SP) для единого входа при помощи SAML, произведите следуйте действия:

  1. Зайдите в свою учётную запись iSpring с правами администратора и введите следующий адрес для настройки единого входа в вашем браузере: https://yourcompany.ispringonline.ru/settings/sso

  2. Заполните форму, указав URL и другие детали вашего IdP. Затем нажмите Сохранить.

Image Modified

Metadata Url: Адрес  вашего IdP-сервера, указывающий на файл с мета-данными.

Sign On Url: Путь к серверному скрипту, который генерирует SAML запросы подтверждения идентификатора для осуществления логина.

Logout Url: Путь к серверному скрипту, который генерирует SAML запросы подтверждения идентификатора для осуществления выхода.

Certificate Fingerprint: Сокращёная версия сертификата открытого ключа проверки электронной подписи. Используется для подтверждения подписей запросов, исходящих от поставщика учётных записей (IdP).

Подробнее о сертификатах fingerprint (англ.) →

Настройка SAML на сервере

Мы рекомендуем использовать библиотеку https://simplesamlphp.org/~~HEAD=pobj для настройки IdP-сервера для осуществления единого входа через SAML 2.0.

Настройка  поставщика услуг

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

  1. URL-адрес поставщика поставщика учётных записей (IdP).

  2. SSL сертификат (server.crt)

  3. Секретный ключ (server.pem)

  4. certFingerprint для быстрой проверки

Конфигурации нашего сервера включает следующие шаги:

  1. Включение имени поставщика учётных записей (IdP) и SSL сертификата в config/authsources.php

'default-sp' => array(

   'saml:SP',

   // The entity ID of the IdP this should SP should contact.

   // Can be NULL/unset, in which case the user will be shown a list of available IdPs.

   'idp' => 'http://samlip.local:9040/saml2/idp/metadata.php',

       'privatekey'  => 'server.pem',

       'certificate' => 'server.crt',

),

  1. Определение SingleSignOnService, SingleLogoutService и certFingerprint в файле metadata/saml20-idp-remote.php

$metadata['http://samlip.local:9040/saml2/idp/metadata.php'] = array(

   'SingleSignOnService'  => 'http://samlip.local:9040/saml2/idp/SSOService.php',

   'SingleLogoutService'  => 'http://samlip.local:9040/saml2/idp/SingleLogoutService.php',

   'certFingerprint'      => 'afe71c28ef740bc87425be13a2263d37971da1f9'

);

Настройка поставщика удостоверений

Для настройки поставщика учётных записей (IdP) для осуществления авторизации выполните следующие действия:

  1. Включите поддержку SAML 2.0 и Shibboleth 1.3 в файле config/config.php

'enable.saml20-idp' => true,

'enable.shib13-idp' => true,

  1. Включите модуль авторизации. Вы найдете разные модули в папке modules/. Откройте папку интересующего вас метода авторизации и создайте в ней пустой файл с именем enabled.

  2. Произведите настройку выбранного вами модуля авторизации в файле config/authsources.php

$config = array(

   'example-userpass' => array(

       'exampleauth:UserPass',

       'student:studentpass' => array(

           'uid' => array('student'),

           'eduPersonAffiliation' => array('member', 'student'),

       ),

       'employee:employeepass' => array(

           'uid' => array('employee'),

           'eduPersonAffiliation' => array('member', 'employee'),

       ),

   ),

);

  1. Настройте IdP в файле конфигурации saml20-idp-hosted по примеру.

'attributes.NameFormat' => 'urn:oasis:names:tc:SAML:2.0:attrname-format:uri',

'authproc' => array(

   // Convert LDAP names to oids.

   100 => array('class' => 'core:AttributeMap', 'name2oid'),

),

  1. Добавьте информацию поставщике услуг в файл metadata/saml20-sp-remote.php.

$metadata['https://sp.example.org/simplesaml/module.php/saml/sp/metadata.php/default-sp'] = array(

   'AssertionConsumerService' => 'https://sp.example.org/simplesaml/module.php/saml/sp/saml2-acs.php/default-sp',

   'SingleLogoutService'      => 'https://sp.example.org/simplesaml/module.php/saml/sp/saml2-logout.php/default-sp',

);

После этого проверьте работоспособность функции единого входа.

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

Единый вход с использованием JWT

Настройка JWT в аккаунте iSpring Online достаточно проста.

  1. Войдите в свой аккаунт iSpring Online под учётной записью администратора и введите путь к настройкам в строке браузера:  https://yourcompany.ispringonline.ru/settings/sso/jwt

  2. Поставьте галочку в поле Enable JWT login for this account.
    Image Modified

  3. Укажите Security key. Это значение также является криптографическим ключом и секретной частью частью JWT токена.

  4. Identity provider URL содержит адрес страницы вашего сайта, на котором располагается скрипт для генерации JWT токенов для входа пользователя.

  5. Logout URL содержит адрес страницы вашего сайта, на котором располагается скрипт для генерации JWT токенов для выхода пользователя.

Мы рекомендуем использовать протокол HTTPS вместо HTTP для повышения безопасности.

Примечание: при необходимости можно использовать GET параметр no_jwt=1 для доступа к форме логинации в СДО в обход SSO: https://yourcompany.ispringonline.ru/login?no_jwt=1  Например, если ввести этот параметр, то пользователь сможет войти, даже если единый вход по какой-то причине не работает.

На этапе проверки пользователя, если его нет в базе iSpring Online, он будет автоматически добавлен и залогинен.

Единственным препятствием автоматического добавления нового пользователя может быть только лимит пользователей для текущего плана СДО.

Другим пример автоматической авторизации может быть тот случай, если пользователь сразу зашел на сайт iSpring Online, без предварительной авторизации на вашем сайте. Если в аккаунте Online включена опция JWT, то пользователь будет автоматически перенаправлен на соответствующую страницу вашего сайта (поставщика идентификации) https://www.yourwebsite.com/login-token/. После ввода логина и пароля на стороне вашего сайта, пользователь сможет беспрепятственно войти на портал Online.