岩本隆史の日記帳(アーカイブ)

はてなダイアリーのサービス終了をうけて移行したものです。更新はしません。

JavaScriptによるHTMLフォームリダイレクトがなんかやだ

php-openidのRPのサンプルでは(examples/consumer/try_auth.php)、OpenID2.0対応のOPの場合にHTMLフォームリダイレクトしています。URLが長くなる可能性があるのでPOSTにしているのでしょう。

が、JavaScriptで自動送信するのがどうも気に入りません。JavaScriptが無効の場合、ユーザにボタンを押してもらう必要がありますし、またその際、ボタンひとつだけのショボい画面が表示されてしまいます(作りこめば良いのでしょうが)。

今のところSREGもPAPEも使う予定はなく、OPもホワイトリスト方式で絞り込むつもりなので、一般的なUAで支障をきたすほどURLが長くなることはないでしょう。ならばHTTPリダイレクトで対応したいところです。

念のため仕様を確認すると:

間接コミュニケーションを行う方法は二つ存在する:HTTPリダイレクトとHTMLフォーム送信である。フォーム送信もリダイレクトも、送信者が受信者の URLを知っている事、そして受信者が間接メッセージを受け付ける状態にあることが必要とされる(Section 4.1.2参照)。通信開始者はどの間接通信方法を使うかを、(ブラウザなどの)能力、メッセージサイズ、またはその他の外部要因を勘案して選択する。

http://openid-japan.org/wiki/index.php/OpenID_Authentication_2.0#5.2._.E9.96.93.E6.8E.A5.E9.80.9A.E4.BF.A1_.28Indirect_Communication.29

なので問題なしでした。「岩本の個人的嗜好⊂その他の外部要因」ということです(えー)。