これが私の質問の簡単なバージョンです:
Cookie が別のサーバー (この場合は Exchange メール サーバー) で使用される場合、何らかの方法でクライアントのブラウザーに Cookie を設定することは可能ですか? このシナリオでは、Cookie を設定しようとしているサーバーは "intranet.myschool.edu" にあり、交換サーバーは "owa_server.myschool.edu" にあります。
完全な質問は次のとおりです。
cURL を使用して、フォーム ベース認証が有効になっている Exchange サーバーに HTTP POST を送信する php スクリプトがあります。
HTTP POST (投稿された URL にユーザー/パスを含む) を成功させると、Exchange Server (具体的にはhttps://my.school.edu/exchweb/bin/auth/owaauth.dllファイル)クッキーを出力します。具体的には、「sessionid」と「cadata」id を出力します。
これらの Cookie ID がサーバー上のテキスト ファイルに書き込まれると、cURL/PHP はそれを参照し、Exchange/OWA サーバーから (webdav などを介して) データを要求できます。
その部分は機能します。私が解決したい問題は、Cookie ID をクライアントのブラウザーに渡すことです。これにより、クライアントはこれらの Cookie ID を使用して自分の OWA アカウントに自動ログインできるようになります。
本質的には、ユーザーが Active Directory ID を使用してイントラネットにログインし、最近の電子メールのスナップショットを確認できるようにしたいと考えています。その後、必要に応じて、完全な OWA Web アプリケーションに切り替えるための小さなリンクを提供します。この切り替えが発生した場合、OWA に手動でログインする必要はありません。彼らはすでに Active Directory のユーザー名とパスワードをイントラネットの前に提出しているので、OWA に自動ログインしてもらいたいのです。
Mac OS、Windows、および Linux が混在しているため、Windows 認証を使用してシングル サインオンを試みることはできないことに注意してください。
「setcookie」を実行して、cURL が取得した Cookie ID を割り当て、クライアントのブラウザーに入れることができると考えていました。
これは不可能ですか?この方法で Exchange/OWA (またはその他のサイト) を「偽装」することはできませんか? cURL がキャプチャした正当な Cookie ID があります。これらを別のコンピューターのクライアント ブラウザーに渡す方法はありませんか?
最悪の場合、Javascript を使用してユーザー名とパスワードを OWA ログイン ページに自動貼り付けすることが唯一の望みでしょうか? Exchange/OWA での二重ログインの問題を回避する方法について、他に考えがある人はいますか?
助けてくれてありがとう!