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

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 20 Следующий »

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

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

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

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

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

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

iSpring Learn позволяет использовать SAML для реализации единого входа.

Важно: авторизация с помощью SAML не работает в мобильном приложении.

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

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

  2. Отметьте Разрешить вход с использованием SAML.



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

    Metadata UrlАдрес вашего IdP-сервера, указывающий на файл с мета-данными.
    Sign On UrlПуть к серверному скрипту, который генерирует SAML запросы подтверждения идентификатора для осуществления логина.
    Logout UrlПуть к серверному скрипту, который генерирует SAML запросы подтверждения идентификатора для осуществления выхода.
    Certificate FingerprintСокращённая версия сертификата открытого ключа проверки электронной подписи. Используется для подтверждения подписей запросов, исходящих от поставщика учётных записей (IdP). Подробнее о сертификатах fingerprint здесь.
    Перенаправлять пользователей на страницу логинации, заданную согласно SSOЕсли эта опция включена, вход в ваш аккаунт iSpring Learn будет производиться на странице https://yourcompany.ispringlearn.ru/sso/login.
    Добавить на боковую панель ссылку для перехода на основной сайтНа боковой панели появится ссылка на ресурс, который укажет администратор.
  4. Нажмите Сохранить.

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

Мы рекомендуем использовать библиотеку https://simplesamlphp.org/ для настройки IdP-сервера (IdP - англ. Identity Provider, рус. поставщик идентификаторов) для настройки авторизации через 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. 

    Важно: email — обязательный атрибут.

    $config = array( 'example-userpass' => array( 'exampleauth:UserPass', 'student:studentpass' => array( 'uid' => array('student'), 'email' => 'student@example.com', 'eduPersonAffiliation' => array('member', 'student'), ), 'employee:employeepass' => array( 'uid' => array('employee'), 'email' => 'employee@example.com', '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', );

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

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

Важно: технология JWT не работает с мобильным приложением.

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


  2. Отметьте опцию Разрешить вход с использованием JWT.


  3. Заполните поля, а затем нажмите Сохранить

    Encryption algorithmАлгоритм, который используется для подписи/шифрования.
    Return URLАдрес страницы, на которую попадет пользователь, не прошедший проверку подлинности.
    Security keyКриптографический ключ и секретная частью частью JWT токена.
    Identity provider URLАдрес страницы сайта, на которой располагается скрипт для генерации JWT токенов.
    Logout URLАдрес страницы сайта, на которой располагается скрипт для генерации JWT токенов для выхода пользователя.

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

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

Даже если пользователя нет в базе iSpring Learn, он автоматически добавится и войдет в систему. Единственным препятствием автоматического добавления нового пользователя может быть только лимит вашего плана.

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

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

Технология единого входа OpenID — одна из самых популярных. Если этот стандарт включен в вашем аккаунте ISpring Learn, пользователи смогут заходить в портал с помощью таких популярных сервисов как Google или Paypal.

Важно: авторизация с помощью OpenID работает в мобильном приложении.

Терминология

OpenID Provider (OP)

Сервис клиента — это сервер авторизации, который аутентифицирует пользователей и передает информацию об успешной аутентификации в iSpring Learn.

Relying Party (RP)

iSpring Learn

Настройка iSpring Learn

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

  2. Отметьте Разрешить вход с использованием OpenID Connect.



  3. Заполните поля формы. 

    Автоматически создавать
    нового пользователя
    через OpenID
    Отметьте эту опцию, чтобы незарегистрированные пользователи автоматически добавлялись в iSpring Learn при попытке залогиниться.
    Response TypeТип ответа, который передает сервер авторизации.
    Return UrlАдрес страницы, на которую попадет пользователь, не прошедший проверку подлинности.
    IssuerИздатель токена. Параметр можно получить на сервере авторизации.
    Client IdИдентификатор клиента, который заводится на сервере авторизации.
    Client SecretСекрет клиента — параметр, который используется для аутентификации подлинности приложения для API сервиса, когда приложение запрашивает доступ к аккаунту пользователя. Создается на сервере авторизации.


  4. Добавьте в настройки сервера авторизации Return URL, заданный в настройках iSpring Learn. 
    Для работы мобильного приложения необходимо добавить на сервер авторизации измененный Return Url: заменить схему https на islearn: islearn://auth.dev.learn.ispring.lan/sso/login/oidc

Для создания пользователей при логине через OpenID мы используем следующие параметры, полученные от сервера авторизации:

ClaimПоле профиля в learn
preferred_usernameLogin
emailEmail
family_nameLast Name
given_nameFirst Name


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

Даже если пользователя нет в базе iSpring Learn, он автоматически добавится и войдет в систему. Единственным препятствием автоматического добавления нового пользователя может быть только лимит вашего плана.

Вы можете включить поддержку единого выхода. Для этого зарегистрируйте backchannel logut url на сервере авторизацииhttps://yourcompany.ispringlearn.ru/sso/logout/oidc.

Backchannel logout позволяет добавить Learn в инфраструктуру сервисов клиента. Если пользователь выходит из любого из сервисов клиента, сервер авторизации посылает запрос на iSpring Learn, который  выполняет выход указанного пользователя. 



  • Нет меток