Как сохранить хеш-фрагмент URL при реализации единого входа с использованием Shibboleth
Я реализовал единый вход в одностраничное приложение с помощью Shibboleth Service Provider. Проблема заключается в том, что когда пользователь пытается получить доступ к URL-адресу, указанному в закладке, со значением хеш-функции, он теряет хэш-часть URL-адреса после выполнения аутентификации у поставщика удостоверений (в моем случае, на его сервере ping). Со второго запроса он работает нормально.
Например, если пользователь пытается получить доступ к https://example.com/index.html, он переводит меня на https://example.com/index.html
Способ запроса:POST
Код статуса:302 перемещено
Заголовок ответа
Cache-Control: частный, нет-магазин, нет-кэша, макс возраста =0
Длина контента:40 Тип контента: текст / html Дата: Пт, 16 июня 2017 15:37:41 GMT
Истекает: ср, 01 января 1997 года, 12:00:00 по Гринвичу
Расположение: https://example.com/index.html
Сервер:
SetCookie: _shibsession_64656661756c746572612d6465465722d656c6563747269632e636f6d = _ad223f20f29ee122537dab8fdd; Путь =/; обеспечения; HttpOnly
X-Frame-Options: SAMEORIGIN
Похоже, что Shibboleth не поддерживает значение хеша при выполнении перенаправления. Если вы видите Location, он не содержит хеш-значения. Любая помощь приветствуется.
1 ответ
Хотя я не знаю продукт Shibboleth, я бы рекомендовал попытаться закодировать URL-адрес вашего URL-адреса, прежде чем включать его в федерацию.
Пример:
Вместо https://example.com/index.html
Это будет https%3A%2F%2Fexample.com%2Findex.html%23id%3A12
Это может привести к улучшению поведения при взаимодействии с ВПЛ.