Я ИП, который интегрировал Spring Saml с моим приложением.Это приложение, основанное на весне, с частными и общедоступными URL-адресами.
например - https://mypublicdomain.com/myshop/shop https://myprivatedomain.com/myshop/shop
Я настроил единый вход с помощью AzureAd IDP на основе метаданных, сгенерированных из частного URL-адреса. Т.е. (htttps: //myprivatedomain / samlsinglesignon / saml / metadata) Это работает, как и ожидалось.
Теперь существует требование, чтобы оба URL-адреса были доступны с помощью sso.
При попытке запустить SSO, инициированную SP, после перенаправления в IDP и аутентификации, я получил сообщение об ошибке несоответствия между ACS, настроенным для entityId
. Чтобы преодолеть это, я добавил новыйpublic repyAcs к списку известных URL. Это избавило от несоответствия ACS.
Теперь после аутентификации в IDP с публичного URL-адреса с помощью SP init sso меня перенаправляют обратно на частный URL-адрес с 401-неавторизованным.
Это перенаправление происходит на основе свойства приложения sso..redirect.url
По сути, мне нужен способ изменить значение свойства sso.redirect.url в соответствии с URL-адресом, инициировавшим процесс sso.Или сконфигурируйте Spring Saml для работы с 2-мя ответами AC и 2-мя URL-адресами перенаправления под одним и тем же entityID
. Я бы ожидал, что на основе URL-адреса, используемого для запуска процесса singlesignon, перенаправляется на правильный URL-адрес.
Если sso был инициирован из общего перенаправления url, должно произойти с public url
Если sso было инициировано из частного перенаправления url, должно произойти обратно в приватный url