Ваше приложение должно быть защищено с помощью SimpleSAMLphp SP.
Чтобы проверить, зарегистрирован ли пользователь или нет, следует загрузить библиотеку simpleSAMLphp, а затем использовать функцию isAuthenticated ().
Это первое, что вы должны проверить при загрузке функции login.php вашего приложения.
Если isAuthenticated () возвращает false, тогда вы перенаправляете на SP, если isAuthenticated () возвращает true, тогда вы можете проверить, имел ли пользователь активный сеанс в конечном приложении, и обновить его (если существует) или создать новый.
simpleSAMLphp хорошо задокументировано. Проверьте документацию по API здесь [1]
[1] http://simplesamlphp.org/docs/trunk/simplesamlphp-sp-api
Пример кодирования:
require_once('/var/lib/usr/simplesamlphp/lib/_autoload.php');
$saml_auth = new SimpleSAML_Auth_Simple('saml');
if ($saml_auth->isAuthenticated()) {
$attributes = $saml_auth->getAttributes();
if (is_user_loggedin_local_app()) {
update_session_local_app($attributes);
}
{
create_session_local_app($attributes);
}
}
else {
$saml_auth->requireAuth();
}
Как вы видите, ваша локальная форма входа исчезает. Если вы хотите включить 2 способа аутентификации (saml и локальный), вам нужно создать новое представление в локальном приложении с этой логикой и добавить ссылку на это представление в форме локального входа.