Проблема с состоянием реле единого входа

#angularjs #rest #single-sign-on #websphere-liberty #idp

#angularjs #rest #единый вход #websphere-liberty #idp

Вопрос:

Я создал веб-приложение angularjs, которое вызывает веб-службу REST для получения данных. Как веб-приложение, так и службы rest, работающие в одном контейнере WebSphere liberty. Я использую федерацию единого входа для аутентификации пользователей. Здесь проблема заключается в том, когда истекает время ожидания сеанса и после этого, если пользователь выполняет какие-то действия. Веб-приложение вызывает службы rest и отправляет обратно HTML состояния ретрансляции в качестве результатов вместо ожидаемых данных. Как это исправить, автоматически перенаправляя на URL для входа в SP.

Ответ №1:

Отправляет ли ваше приложение какой-либо маркер безопасности в службу REST для аутентификации? Я предполагаю, что запрос не прошел проверку подлинности, а служба rest настроена как SAML SP, поэтому служба REST отправляет запрос на вход через клиент (это, оказывается, веб-приложение angular). Можете ли вы объяснить, выполняло ли ваше приложение angular аутентификацию перед вызовом веб-службы? Исходя из описанной топологии, я бы посоветовал вам настроить веб-приложение angular для выполнения OpenID Connect или входа по OAuth, а затем отправить access_token или JWT в службу Rest.

Комментарии:

1. ДА. Приложение angular выполняет первоначальную аутентификацию путем перенаправления в SP, а SP отправляет ответ обратно нашему приложению. За это время мы сделали много вызовов rest, все идет нормально. Но после истечения времени сеанса (LTPA), если мы выполним вызов rest. он отвечает каким-то сообщением о состоянии реле в виде HTML с формой автоматической отправки.

2. не могли бы вы поделиться конфигурацией SP (server.xml ) со мной?