SAML (язык разметки утверждений безопасности) - это протокол федерации идентификации.
(1) Традиционно веб-приложение использует локальное хранилище данных (например, MySQL, которое используется для хранения учетных данных имени пользователя / пароля) для аутентификации при входе в систему.
С другой стороны,веб-приложение может использовать стороннего поставщика удостоверений SAML (IdP) для выполнения проверки подлинности при входе в систему, если веб-приложение было интегрировано с поставщиком услуг SAML (SP).
(2) Обычно SAML IdP использует удостоверениерепозиторий (например, OpenLDAP) для обеспечения аутентификации личности для веб-приложения с поддержкой SAML SP.
(3) Веб-приложение, которое было интегрировано с SAML SP, передает аутентификацию при входе в систему IdP SAML.
Без ограничения общности мы предполагаем, что IdP SAML был настроен с OpenLDAP.
Типичная процедура аутентификации, инициированная SAMP SP, может быть описана ниже.
(I) Пользователь запускает веб-браузер для доступа к веб-приложению с поддержкой SAML SP.
(II) Пользователь перенаправляется на IdP SAML, который запрашивает экран входа в систему с именем пользователя и паролем.,SAML SP отправляет запрос SAML в SAML IdP.
(III) Пользователь отправляет учетные данные имени пользователя / пароля.
(IV) IdP SAML использует OpenLDAP для проверки учетных данных имени пользователя / пароля.
(V) Пользователь перенаправляется назад и входит в веб-приложение, если пользователь был успешно аутентифицирован OpenLDAP.SAML IdP отправляет токен ответа SAML для объединения идентификатора пользователя (например, имени пользователя) в веб-приложение с поддержкой SAML SP.
(4) Как собрать и запустить Shibboleth SAML IdP и SP с использованием контейнера Docker демонстрирует, как SAML IdP использует OpenLDAP для обеспечения аутентификации личности, а затем объединяет учетную запись пользователя (например, имя пользователя)в веб-приложение с поддержкой SAML SP, таким образом, выполняется аутентификация входа в систему для веб-приложения.