OpenID
ログインにサードパーティ プロバイダを使用する「証明書利用者」アプリが動作しています。ただし、 を使用する「自作」OpenID
プロバイダでログインしようとすると、 と の間でorg.openid4java.server.SampleServer
セッションが維持されません。beginConsumption
endConsumption
発見と関連付けが成功したことがわかります。これは春に達成されOpenID4JavaConsumer
ます。
DiscoveryInformation information = consumerManager.associate(discoveries);
req.getSession().setAttribute(DISCOVERY_INFO_KEY, information);
しかし、OP が認証response.sendRedirect
を行って RP に戻った後、そこで新しいセッションが開始され、次の場所で失敗し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");
}
この新しいセッションが作成される原因と、古いセッションを維持するにはどうすればよいですか?