2016-12-30 9 views
0

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から来る場合、オブジェクトAuthenticationSAMLCredentialはヌルで、エラーNo user is logged inが発生しますが、実際のユーザはまだSpring SAMLアプリケーションにログインしています。

    同様の議論はなく、効果なしで、hereた:

  • 答えて

    0

    \我々はテストSAML2のSSOのtravelocity.comとavis.comウェブアプリを使用しています。あなたはここで詳細を見つけることができます[1]。さらに、このドキュメント[2] を確認することができます。アイデンティティ・サーバーに2つのサービス・プロバイダを登録し、1から8の手順に従います。

    [1] https://docs.wso2.com/display/IS500/Configuring+Single+Sign-On+with+SAML+2.0

    [2] https://docs.wso2.com/display/IS500/Customizing+Login+Pagesあなたは、両方のアプリケーションが同じホスト名を使用して、アイデンティティ・サーバーを(IS)を呼び出しているかどうかを確認する必要が

    +0

    すでに設定されています。 –

    1

    。例えば。 https://is.blahblah.com/samlsso

    ISセッションは、クッキー( 'commonAuthId'と 'samlssoTokenId'のクッキー)に基づいています。アプリが2つの異なるホスト名を使用してISを呼び出す場合、IS側で2つの異なるセッションが作成されます。 SSOとSLOが発生するには、両方のアプリが単一のISセッションを共有する必要があります。

    +0

    同じドメイン:https:// localhost:9444/samlsso –

    関連する問題