У меня есть рабочее приложение «полагающаяся сторона», которое использует провайдер третьей стороны OpenID
для входа. Однако, если я попытаюсь войти в систему с помощью «домашнего» OpenID
провайдера, который использует org.openid4java.server.SampleServer
, сеанс не поддерживается между beginConsumption
и endConsumption
.openid RP не поддерживает сеанс между вызовами провайдера
я могу видеть успешное открытие и ассоциации, с этим было достигнуто в пружинах OpenID4JavaConsumer
:
DiscoveryInformation information = consumerManager.associate(discoveries);
req.getSession().setAttribute(DISCOVERY_INFO_KEY, information);
Но после того, как мой OP делает аутентификации и response.sendRedirect
«S обратно в РП, новая сессия началась, и я получить отказ в на OpenID4JavaConsumer.endConsumption
:
DiscoveryInformation discovered =
(DiscoveryInformation) request.getSession().getAttribute(DISCOVERY_INFO_KEY);
if (discovered == null) {
throw new OpenIDConsumerException("DiscoveryInformation is not available. Possible causes are lost session or replay attack");
}
Что вызывает этот новый сеанс, который будет создан, и как я могу держать свою старую сессию?