ケータイサイトでの認証とかについて 「かんたんログイン」

かんたんログイン

携帯キャリアが提供している個体識別番号を使っていわゆる「かんたんログイン」機能を作ることが出来ます。mixiとかはてなでも使っているアレです。UserAgentやらHTTP拡張ヘッダやらをいじらないといけないのでライブラリ(クラス)を作りました。PEAR::Net_UserAgent_Mobileでも使っておけば簡単なんです。

でも実際には、UAやらヘッダの話だけで済まないのがちょっと面倒です。NTTドコモKDDIソフトバンクモバイルの各社それぞれで異なる仕様で提供しています。
大雑把にいえば

  1. NTTドコモ
    • リンクに仕込みを入れてやらないと取得できない。
  2. au KDDI
    • ユーザーが設定さえしていれば常に取得できる。
  3. ソフトバンクモバイル
    • ユーザーが設定さえしていれば常に取得できる。

ようするにドコモに合わせてページ遷移を考えろってこと。

細かくはこういう感じ
  1. NTTドコモ
    • iモードID:HTTP拡張ヘッダ X-DCMGUID で値を受け取る。契約者に付随する番号。
      • url引数にパラメータ"guid=ON"を与えてユーザーからのリクエストに紛れ込ませないといけない。
      • iモードのiメニュー設定によってiモードidの通知の可否を設定する。ので設定していないユーザーに対しては不親切。(参照 nttdocomo.co.jp)
    • 携帯製造番号&FOMAカード製造番号:HTTPヘッダ USER-AGENT 内に挿入されている。端末(ハードウェア)に付随する番号。
      • <a>タグの属性として"utn"を指定することでユーザーからのリクエストに紛れ込ませないといけない。
      • utnでリクエストをする度にユーザーに対して送信確認のダイアログが表示される。鬱陶しいよね?
  2. au KDDI
  3. ソフトバンクモバイル
    • ユーザID:HTTP拡張ヘッダ X-JPHONE-UID で値を受け取る。契約者に付随する番号、たぶん。
      • 3GシリーズからはユーザIDを使うことが出来る。
      • ソフトバンクモバイルのサイトでは公開されていない。開発者向け情報としては一部提供されているか?ここ
      • 常に拡張ヘッダを送信している。
      • ユーザーID通知設定にて通知登録する。
    • 端末シリアル番号:HTTPヘッダ USER-AGENT 内に挿入されている。端末(ハードウェア)に付随する番号。
      • 3Gシリーズ以前の端末はこちらを使用する。
      • 端末のユーザーID通知がONになっている必要がある。
      • 通知設定がされていれば USER-AGENT内に常に挿入される。