6

このようなアプリケーションワークフローがあります

(A) User-Agent (ブラウザ) <-----> (B) App Server <------> (C) RESTサービス

アプリ サーバー (B) が SAML サービス プロバイダーであり、user@domain が Web ブラウザー SSO プロファイルを使用して、ブラウザー (A) からアプリ サーバー (B) への認証を行うとします。

(B) で実行されているアプリケーションは、REST サービス (C) に対してuser@domain.com として認証するにはどうすればよいでしょうか? (B と C が両方とも同じ IdP 上の SAML SP であると仮定します。)

ブラウザーが B と C の両方に対して AJAX 呼び出しを行うだけであれば、簡単です。しかし、REST サービスがアプリケーションから直接呼び出された場合、どうすればよいでしょうか?

私が苦労していること: アプリケーション自体が SAML SP ではなく、SAML SP と統合されている (たとえば、Shibboleth SP と REMOTE_USER ヘッダーを使用している) 場合、アプリケーションは SAML アサーションを認識しない可能性があります。ユーザーがログインし、IdP に対して認証されていることはわかっていますが、バックエンド サービスにハンドオフするための SAML アサーションを取得する方法がありません。

解決策はありますか、それとも運が悪いのでしょうか?

4

2 に答える 2

1

はい、App Server (B) が A からの着信アサーションを受け入れるサービス プロバイダーとして機能することと、C に転送する独自の SAML チケットを発行する ID プロバイダーとして機能することの両方を妨げるものは何もありません。

元のアサーションにアクセスできない場合は、B で新しいアサーションを発行する必要があります。元のアサーションにアクセスできる場合は、アサーションを制限する対象者の制限を無視するように C が構成されている場合、C に転送できます。 B にのみ有効です。

于 2013-11-09T19:46:02.927 に答える