Ping Federateを使用して、2つのWebサーバー(IIS統合キットを使用して保護されたIISとPingのopentokenモジュールの両方)を保護します。一方のサーバーはWEB APIアプリケーションをホストし、他方のサーバーはWebページをホストします。 Web APIアプリケーションでCORSが有効になっています。Pingfederate opentoken module CORSリクエストは200の代わりに302を返します。
ウェブページは、jsonデータを含むAjaxのポストリクエストをAPIサーバーに送信します。これにより、ブラウザはプリフライトオプション要求を開始します。 APIサーバーでは、Pingモジュールは資格情報を含まないこの要求をインターセプトします(仕様では、プリフライトオプション要求に資格情報が含まれていないと言われています)。そして、Web APIコードが200を返すべきときに処理する前に302リダイレクトを返します。
私の唯一の推測は、オプション要求を処理してopentokenモジュールの前にインストールするカスタムモジュールを作ることです。他の可能な/より良い解決策がありますか?
私はこの問題を回避するためにサーバーを結合しました。これは、PINGが解決策を提供しない場合、これを答えとしてマークしますが、PINGが有用な情報を提供する場合は変更する可能性がある場合は、最良の方法と思われます。 – jp36
私はあなたが作成したフィルタ(可能な場合)またはより一般的なフィルタの例の一例を置くことをお勧めします。 StackOverflowはちょうどリンクの答え(リンクが死ぬかもしれない、情報を見つけるのが難しいなど)に悩まされます。 - 例はupvoteを得る! – jp36