WSO2 Identity ServerをIDPとして構成し、2つのアプリケーションをSPとして構成しました。すべてのいくつかのことを除いて、細かい作業:私は1つのアプリケーションからログアウトしたときに、別のアプリケーションでは、私は1つのアプリケーションにログインしたとき、私は別のアプリケーションドン、Spring SAML SSOはセッションを共有しません
をログアウトしていること、
表示されません私がログインしていることを確認してください。
IMHOには、SSOとSLOの主な原則があります。
SecurityContextHolder.getContext().getAuthentication()
にチェックを付けると、別のアプリでログアウトまたはログインしても変更はありません。
ロードロードの前にWSO2 page/samlssoを呼び出す必要がありますか?
どうすればいいですか?そのユーザーがログアウト/ログインした別のアプリから取得するにはどうすればよいですか?
EDIT:たとえば
、WSO2 API Managerのストアは、このような仕組みを持っている:
- 私は自分のアプリケーションからログアウトして、ストアのメインログインしていないページへのリダイレクトを行く、ストアページをリロードするとき。ログインと同じです。
UPDATE:
私はクラスorg.springframework.security.saml.websso.SingleLogoutProfileImpl
で問題を発見しました。ログアウト要求がWSO2 ISから来る場合、オブジェクトAuthentication
とSAMLCredential
はヌルで、エラーNo user is logged in
が発生しますが、実際のユーザはまだSpring SAMLアプリケーションにログインしています。
同様の議論はなく、効果なしで、hereた:
すでに設定されています。 –