日向夏特殊応援部隊

俺様向けメモ

もしmixiが2.0対応のOpenID Providerになったら

と言う激しい釣りタイトル。

を見ていて、あぁなるほどなーと思った次第なので良い機会なので、mixiが、OpenID Authentication 2.0対応のRPになるとするならば、こんな風にしては如何?と言う内容です。

まずはきっかけ

具体的には OpenID.ee と Yahoo!. それぞれ自身の管理しているアカウント名とは別の識別子を, RP (Relying Party) ごとにランダムに生成し払い出すらしい.

(中略)

Yahoo! JAPAN がやろうとしている OpenID Provider の設定は知らないけど, もし Yahoo! と同じだとすると, Yahoo!IDは微妙にセンシティブだと思っていて、あまり公開したくないような人からも受け入れてもらえそう.

の下り。

User-Supplied IdentifierでOP Identifierを使った場合、End UserはOPにてClaimed Identifierを選択する事が出来る訳です。

mixiにおけるOP IdentifierベースでのIdentifierの選択

つまり具体的には

  1. ログインフォームにてmixi.jpと入力する
  2. mixiOpenIDの認証ページに飛ばされる
  3. ユーザーがIdentifierを選択する

って流れになるんだけど、最後の選択で自分のmixi id相当(あの数字ね)が含まれるURLをIdentifierとして外部に晒すのは、余り嬉しいと思わないユーザーがYahoo! IDの場合より多いんじゃないのかなと思うと、工藤さんが説明してるようなYahoo!の実装を踏襲した方がいいんじゃないかと思いました。

簡潔に言えばmixi idがバレないようなURLもIdentifierとして提供するって事ですね。

  1. http://mixi.jp/show_profile.pl?id=xxxxx
  2. http://openid.mixi.jp/XXXXXXXXXXXXXXX

みたいな2パターンとか。

mixi idがバレるとmixiアカウント持ってれば直接mixiにログインしてその人のプロフィールが(公開されてれば)見れてしまうので、場合によっては嫌だと思う人も居るんじゃないかなーと思います。

mixiOpenID Authentication 2.0ベースでやるべき理由

如何せんユニークなIDとして採用出来そうなのが、

  1. mixi id(番号ね)
  2. メールアドレス

だけだと思われるので、いずれにせよ正しく他のサイトの認証で入力出来ることを一般ユーザーに求めるのは難しいのかなと思います。なのでClaimed Identifierベースの認証は諦めて、始めからOP Identifierベースの認証を外部のRPに対して推奨していけば良いと思います。

例えば「mixiアカウントでログインする」なんていうバナーまで用意してあげて、RPはそのバナーがクリックされたらmixi.jpと言うOP Identifierが入力されたと見なして、mixi.jpでの認証に持っていくと。そういうやり方ならユーザーは一切OpenIDの事を知らなくて済むんじゃないかと思います。

あと以前考えたんだけど、mixiのコミュニティは独自サブドメインが持てた気がするんだけど、コミュニティIDみたいのが別途定められる仕様ありましたよね?
あれと同じように希望者は自分のIDを設定出来るようにすればそれも選択肢に加えるってのはありかも。

まとめ

これでコンサル料が貰えるかも?(ぇ
ともあれOpen Socialに乗ったmixiですから、OpenID対応も期待出来そうですね。
楽しみにしてます!>中の人