CAS によって保護されたリモート Web サービスを呼び出せるようにする必要がある Phonegap アプリケーションを作成しています。アプリケーションは、モバイル Web サイトとして、Web ファーム (ハードウェア固有の部分を除く) でもホストされます。
CAS サーバーは server1 でホストされ、Web サービスは server2 でホストされています。モバイル Web サイトは server2 でホストされています。
Javascript から呼び出しを行うと、クロスドメイン エラーが発生します。これは電話の問題ではないことはわかっていますが、デスクトップで実行すると開発がはるかに簡単になるため、回避することをお勧めします.
現在、次のもので構成される作業セットアップがあります。
- Javascript は、ヘッダーにユーザー名とパスワードを含めて、https 経由で server2 のサーバー側スクリプトを呼び出します。
- スクリプトは CAS の RESTful API を呼び出し、チケット許可 Cookie を取得します。スクリプトは、応答で Set-Cookie ヘッダーを作成するか、ログイン エラーを報告します。
- Javascript は応答を取得し、Cookie を作成します (ただし、この Cookie は Phonegap では検出できません (document.cookie には何もありません)。ただし、この Cookie は渡されます)。
- 次に、Javascript は Web サービスを呼び出すサーバー側スクリプトを呼び出し、リクエストと共に Cookie を渡します (JavaScript からのリクエストで自動的に渡されたにもかかわらず、Cookie をリクエスト ヘッダーに手動で挿入する必要がありました)。
- サーバー側スクリプトは、結果を javascript に送信します。
これを行うより良い方法はありますか?CAS でプロキシ チケットについて言及されているのを見たことがありますが、それが必要なものなのか、またはその使用方法を知るのに十分な情報が見つかりません。
ありがとうございました。