モバイル用の OpenID 考
いつか書こうと思って書いてなかったので。ちなみにモバイルサイト開発は不得手と言うか余り経験が無いので、突っ込み歓迎です。
またモバイルの世界に OpenID なんて(ry ってのは今は考えない。
特徴
- 携帯電話の場合は個体識別番号って奴があって、それを無条件に垂れ流してるので一意な値と言うのは取れると。
- Cookie のサポートはキャリアや機種ごとにまちまち。
- 許容する URL の最大長問題 (携帯電話のブラウザでアクセスできるURLの文字数に制限はありま… - 人力検索はてな、正確な情報かどうか未確認だけど参考数値として)
Cookie と個体識別番号
RP サイドで、アサーションのレスポンスに対する中間者攻撃を防ぐ為に Cookie を事前に発行しておくなんていう対策を採る訳ですが、これは別にリクエスト時の個体識別番号と一致してれば良いので、モバイルでの場合に例外的な扱いはするものの技術的には Cookie が無くても問題は無さそう。
URL の最大長
こっちは引っかかる可能性がある。512バイトまでが共通して言える安全な長さだとすると、Indirect Communication 時に GET を用いる場合に引っかかる場合がありそうだ。
リクエスト時 (checkid_setup/checkid_immediate) の場合は、POST を使えば回避出来ると思うんだけど、レスポンス時は結構な量のパラメータがくっついてくるので、これが実用上問題になる可能性がある。
恐らく必要最低限のパラメータに加えて、RP から OP に対しての問い合わせ用に token を発行しておいて、その token を用いて check_authentication するとかそういう風にすれば良さそうな気がする。
まぁそんな訳で
日本の場合、携帯事情が特殊かと思うのでモバイル用ってのは考えてもいいんジャマイカと思うます。