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

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

Ключ

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

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

Оглавление
maxLevel2

Для настройки единого входа необходимы:

  • Навыки веб-разработки (PHP, JavaScript, JSON, JWT).

  • Доступ к вашему хостингу с правами администратора.

  • Аккаунт iSpring Learn с доступом администратора

...

  1. Войдите в свой аккаунт iSpring Learn и введите следующий адрес в браузере: https://yourcompany.ispringlearn.ru/settings/sso

  2. Заполните форму, указав URL и другие детали вашего IdP (identity provider или поставщик учётных записей). Это тот ресурс, который вы используете для первоначальной авторизации на вашем корпоративном портале.

    Затем нажмите Сохранить

    Metadata UrlАдрес вашего IdP-сервера, указывающий на файл с мета-данными.
    Sign On UrlПуть к серверному скрипту, который генерирует SAML запросы подтверждения идентификатора для осуществления логина.
    Logout UrlПуть к серверному скрипту, который генерирует SAML запросы подтверждения идентификатора для осуществления выхода.
    Certificate FingerprintСокращённая версия сертификата открытого ключа проверки электронной подписи. Используется для подтверждения подписей запросов, исходящих от поставщика учётных записей (IdP).


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

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

Настройка

...

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

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

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

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

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

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

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

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

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

    Блок кода
    'enable.saml20-idp' => true,
    
    'enable.shib13-idp' => true,


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


  3. Произведите настройку выбранного вами модуля авторизации в файле 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'),

           ),

       ),

    
           ),
       ),
    );



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


    Блок кода
    'attributes.NameFormat' => 'urn:oasis:names:tc:SAML:2.0:attrname-format:uri',
    
    'authproc' => array(
       
    
       // Convert LDAP names to oids.
       100
    
       100 => array('class' => 'core:AttributeMap', 'name2oid'),
    
    ),



  5. Добавьте информацию поставщике услуг в файл 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',
    
    );


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

...

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

Единый вход с испол