2017-11-12 4 views
0

2つの異なるIDPSと2つの異なるアプリケーションURLを使用する方法を理解できないようです。私はこれをweblogic上で動作させましたが、spring samlセキュリティを使用するSpringブートアプリケーションでは動作しませんでした。2つのIDPと異なるURLを使用したSAMLアプリケーションの適用

重要な点の1つは、2つの異なるURLがあることです。

  1. 外部ユーザーのプロキシURL。ネットワーク内にないため、このURLを使用する必要があります。 a。これらのユーザーはIDP-Aを打つ
  2. 内部ユーザーの内部URL。 b。これらのユーザーがIDP-Bを打つ

私たちが各IDPに送信したメタデータは、同じエンティティIDであるが異なるエンドポイントURLを使用します。

私たちがしたことの1つは、検出をオンにし、各IDPに到達できる場所でしたが、常に内部URLにリダイレクトされていました。私はAssertionConsumerServiceUrlが常に内部URLに設定されていることに気付きました。なぜなら、それが返される理由は同じです。 Weblogicの実装では、AssertionConsumerServiceUrlを送信しません。

AssertionConsumerServiceUrlを除外できますか?

私がしようとしている設定が可能かどうか知っていますか?

答えて

0

サービスでMetadataManager Beanをオートワイヤリングしてから、addMetadataProviderを呼び出してメタデータを初期化できます。

IDPから取得したメタデータからentityIdを取得し、url: 'http:/// saml/login?idp ='に追加できます。このURLを押すと適切なIDPログインにリダイレクトされます。

+0

私はAssertionConsumerServiceUrlをURLAに設定します.AssertionConsumerServiceUrlを送信しないようにするには、別のURLから来た場合でもIDPによってそのURLにリダイレクトされるためです。 AssertionConsumerServiceUrlを送信しない方法を知っていますか? –

+0

デフォルト設定がspring samlの参照にある場合、1つのSPメタデータのみが生成されます。そのため、2つのURL abc.comとxyz.comがある場合、(2つのURLのいずれかから)サーバーへの最初のリクエストによってAssertionConsumerServiceURLが設定されます。たとえば、サーバへの最初のリクエストがabc.comから来た場合、ACS URLはabc.comとして設定されます。その後、xyz.comを通じてSAMLリクエストを送信した場合でも、SPメタデータはURLにabc.comを持ちます。したがって、これに対処するには、アプリケーションにアクセスする必要のある多くのプロキシURLと同じ数のローカルSPメタデータを初期化する必要があります。 –

関連する問題