0

でSAMLと他の認証された残りの部分から休憩を呼び出すためにどのように私はこれまで行われてきたことはということです。私はソースに2つのRESTサービス(サービスAとサービスB)を追加し、SAML SSOでもうまく機能しています。ユーザーがSP上の保護されたリソース(サービスAまたはサービスB)にアクセスすると、ユーザーはIDP上の保護されたリソースに転送されます。ユーザーはまだログインしていないため、ログインページにリダイレクトされます。ログイン後、元の要求が再生され、authNRequest/Responseが実行され、ユーザーは元の保護されたリソース(サービスAまたはB)にリダイレクトされます。
私は何をすることです:

が、私は2つの異なるポート(8080と9000、二つの異なるトムキャット)で同時に二回ソースを実行し、ポート8080でサービスA(Tomcatの-1)サービスへの呼び出しを行いますポート9000のB(Tomcat-2)。要求をIdP選択にリダイレクトしています。

は、私は何をしようとしていると、その次のとおりです。

ときに、サービスAでポート8080(Tomcatの-1)はポート9000でサービスBを呼び出します(Tomcatの-2)、私は、ユーザーがすでに認証されてチェックしたいですIdP(サービスB、ポート9000)かどうかを確認し、認証されていれば、彼を放してください。

サービスB(ポート9000)では、認証されたユーザがコールを行ったことをどのようにチェックしますか。

答えて

0

これは標準的なSAML手段では達成できないのではないかと思います。 SAMLはサービス/ APIを保護するようには設計されていませんが、Cookieを使用せずにWebシングルサインオンを実現するためのものです。私はまた、その場合にECPプロファイルを使用でき、ECPプロファイルが広く実装されていないことを疑う。 https://tools.ietf.org/html/rfc7522があり、SAMLアサーションからOAuth2認証コードを取得できます。

+0

ECPについてはどうですか? Shibboleth ECPを使ってそれを行うことはできませんか? – stackalreadyoverflowed