Аутентификация Shibboleth с помощью Angular и NGINX - PullRequest
0 голосов
/ 09 октября 2018

У меня есть приложение Angular, которое аутентифицировано Shibboleth.Когда пользователь переходит на страницу, NGINX перенаправляет его на страницу входа Shibboleth.Доступ к приложению управляется NGINX.Если пользователи вошли в систему и вошли в приложение, они могут находиться там в течение значительного времени.Время входа в Shibboleth истекло, но приложение Angular не знает об этом, и это вызывает проблемы со службами, с которыми приложение должно взаимодействовать.Как я могу получить Angular, чтобы проверить, вошел ли Shibboleth в систему?Или (в качестве обходного пути), как заставить браузер обновить (что заставляет NGINX проверить состояние входа в систему), когда пользователь нажимает кнопку отправки для использования службы?

Спасибо

1 Ответ

0 голосов
/ 09 октября 2018

Если я правильно понял ваш вопрос, у вас есть приложение https://example.com.

Вы внедрили SP на этой стороне и защитили - авторизованный весь веб-сайт, а не какой-либо конкретный путь.Поэтому, когда пользователь посещает веб-сайт, nginx переходит к аутентификации пользователя на некоторый IdP.

Теперь проблема заключается в том, что при переходе в угловом приложении из-за реализации pushState запрос не переходит кnginx и, следовательно, вы не можете проверить, активен ли пользовательский сеанс или нет.

Если да

Тогда я считаю, что вам нужно будет создать auth-gaurd в угловом приложении, которое проверяетдопустимый сеанс на каждой странице - проверка подлинности для каждого маршрута.

Вы можете проверить действительность сеанса, используя следующие URL-адреса: https://example.com/Shibboleth.sso/Session https://example.com/Shibboleth.sso/Status

...