SAML, JWD и OpenID — это технологии единого входа, благодаря которым пользователь может автоматически авторизоваться на всех веб-ресурсах компании. Вашему сотруднику или студенту достаточно будет войти в аккаунт на корпоративном сайте, залогиниться в электронную почту или зайти в свой профиль в соцсети — и авторизация в iSpring Learn будет выполнена без ввода логина и пароля.
Оглавление maxLevel 2
Для настройки единого входа необходимы:
Навыки веб-разработки (PHP, JavaScript, JSON, JWT).
Доступ к вашему хостингу с правами администратора.
Аккаунт iSpring Learn с доступом администратора
Единый вход с использованием SAML
iSpring Learn позволяет использовать SAML для позволяет использовать SAML для реализации единого входа.
Информация |
---|
...
Авторизация с помощью SAML |
...
также работает в мобильном приложении. |
Настройка SAML в iSpring Learn
Чтобы настроить технологию SAML в вашем аккаунте:
...
Заполните форму, указав URL и другие детали вашего поставщика учётных записей. Это тот ресурс, который вы используете для первоначальной авторизации на вашем корпоративном портале.
...
Нажмите Сохранить.
Настройка SAML на сервере
Мы рекомендуем использовать библиотеку https://simplesamlphp.org/ для настройки IdP-сервера (IdP - англ. Identity Provider, рус. поставщик идентификаторов) для настройки авторизации через SAML 2.0.
Настройка поставщика услуг
Настройка iSpring Learn производится специалистами на нашей стороне. Просто предоставьте нам следующие данные:
URL-адрес поставщика поставщика учётных записей (IdP).
SSL сертификат (server.crt).
Секретный ключ (server.pem).
certFingerprint для быстрой проверки.
Настройка поставщика удостоверений
Для настройки поставщика учётных записей (IdP) для осуществления авторизации выполните следующие действия:
Включите поддержку SAML 2.0 и Shibboleth 1.3 в файле config/config.php
Блок кода |
---|
'enable.saml20-idp' => true, 'enable.shib13-idp' => true, |
Включите модуль авторизации. Различные модули авторизации находятся в папке modules/. Откройте папку нужного метода и создайте в ней пустой файл с именем enabled.
Настройте модуль авторизации в файле 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'), ), ), ); |
- Перейдите в раздел Сервисы. Затем кликните Дополнения в левом меню.
- В разделе SSO нажмите Подключить.
Выберите сервис, c помощью которого вы будете настраивать SSO:
Page Tree root Авторизация с помощью SAML 2.0
Настройте 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'), ), |
Добавьте информацию о поставщике услуг в файл 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', ); |
Информация |
---|
Полезные ссылки по настройке авторизации c помощью SAML: Единый вход с использованием SAML Настройка iSpring Online SSO через Azure AD + SAML Настройка SAML 2.0 SSO с Microsoft Active Directory Federation Services |
Единый вход с использованием JWT
Настройка JWT в аккаунте iSpring Learn достаточно проста.
Важно: технология JWT не работает с мобильным приложением.
Войдите в свой аккаунт iSpring Learn и введите в браузере следующий адрес: https://yourcompany.ispringonline.ru/settings/sso/jwt
Отметьте опцию Разрешить вход с использованием JWT.
Заполните поля, а затем нажмите Сохранить.
...
Мы рекомендуем использовать протокол HTTPS вместо HTTP для большей безопасности.
Примечание: при необходимости можно использовать GET параметр no_jwt=1 для доступа к форме логинации в СДО в обход SSO: https://yourcompany.ispringonline.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.
Терминология
...
Сервис клиента — это сервер авторизации, который аутентифицирует пользователей и передает информацию об успешной аутентификации в iSpring Learn.
...
iSpring Learn
Настройка iSpring Learn
...
Добавьте в настройки сервера авторизации Return URL, заданный в настройках iSpring Learn.
Для работы мобильного приложения необходимо добавить на сервер авторизации измененный Return Url: заменить схему https на islearn: islearn://auth.dev.learn.ispring.lan/sso/login/oidc
Для создания пользователей при логине через OpenID мы используем следующие параметры, полученные от сервера авторизации:
...
Информация |
---|
Полезные ссылки Доступ к веб-приложениям с помощью OpenID Connect и Azure Active Directory |