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

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

Ключ

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

...

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

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

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

Чтобы настроить технологию SAML в вашем аккаунте:

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

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

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

...

  1.  

    Metadata Url

...

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

...

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

...

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

...

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

...

  1. .

...


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

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

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

  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

...

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

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

   'certFingerprint'      => 'afe71c28ef740bc87425be13a2263d37971da1f9'

);

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

...

  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 => 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',

    );

...

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

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

...

LDAP

...

Facebook

...

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

...