2008年11月17日月曜日

「AIRのCookieの扱い」のその後

「AIRのCookieの扱い」
のエントリで書いたとおり、AIRがURLRequest等を使ってHTTPアクセスした場合のCookieはWindowsの場合はIEのCookieとして(Macの場合はSafariか?)保存される。

従って、AIRアプリからnavigateToURL関数でブラウザを開いた時、通常使うブラウザがIEでない場合Cookieが引き継がれないので、Cookieに認証情報を持たせていた場合、開いたブラウザの方で再度ログイン操作をユーザに強いることになって不便、という話を書いた。

で、しょうがないから以下のようにしてみた。
(1) AIRクライアントは、自分の使ってるCookieを知ってるので、navigateToURLを実行する時にクエリの一部としてCookieを持たせてやる。
(2) サーバ側にはそのクエリをCookieとして設定してやるページを特別に用意する。
(3) ブラウザは最初に(2)のページにアクセスしCookieが設定され、その後目的のページにリダイレクトする(そのように(2)を作っておく)。
(正しくはちょっと違うやり方を取ったけど、詳細は伏せておこう。大枠はこんな感じだ)

Cookieをクエリとして送るのはセキュリティ的にどうなのという気もしないではないが、そもそもCookie自体、毎HTTPアクセス毎に飛んでるわけで、それを見られたらセッションをのっとられることには変わりはない。そう考えると、ま、いっか、と思う。

どなたか反論があればお願いしまっす。

(2009.11追記)
補足が「AIRでCookieで」にあります。

☆☆☆☆☆☆☆ 宣伝です ☆☆☆☆☆☆☆
そんなことをしながらちょっとずつですが着実に使いやすくなりつつある付箋紙ソフト、Push It!をぜひ使ってみてください。
オンラインでもオフラインでも使えて知り合いと共有もできてWindowsでもMacでも使える付箋紙ソフトです。
興味がある人は右上のリンクから。

0 件のコメント: