結局OpenIDってなんじゃ?

整理のため。
間違ってたら指摘してくださるとうれしいです。

認証API(サービス)

APIを提供するサイト(アプリケーション)のアカウントで、それ以外(サードパーティ)のサイトにログインできたりするようにするためのしくみ。サードパーティのサイトには、ログインに必要なパスワードなどは流れず、アカウント名と、そのアカウント名が認証できたか(パスワードなどで本人か確認できたか)という情報及びそのほかの許可された情報のみが渡される。認証できたならそのように処理を進める。

認証APIでは以下のようなものが有名っぽい。

"認証"と"認可"

あくまでも"認証"であり、"認可"については定めていない。
つまり、本人かどうか確認するためのAPIであって、それが本人だったとして、その人がアクセスできるかどうかってのは、APIではなく、それを利用するアプリケーションの問題。
たとえば、有料会員コンテンツもあるサイトで、はてな認証APIやら、OpenAPIやらを採用したとき、認証できたからってみんな有料コンテンツを利用できちゃまずい。有料コンテンツは有料会員にのみ許可されなきゃならない。これが"認可"、権限を与えること、ってわけ。
また、後述するOpenIDについては、その"認証"が本当に信用していいのか、"認可"できるものなのか?という問題がある。

OpenID

で、本題です。
さっき挙げた認証APIのうち、OpenIDだけ、ほかと明確に違うところがある。

はてな認証APIとか

はてなならはてなLivedoorならLivedoorが自身の公開するAPIの仕様を決める。Livedoorがもしやめちゃったら、LivedoorAuthに頼ってるサードパーティは全滅。

OpenID

仕様はすべて公開されてるし、次期の仕様もメーリングリストでOpenに議論されているため、特定の団体の都合で左右されたりしない。
なにより特徴的なのは、本人かどうか"認証"するのは特定の団体ではなく、誰でもできるってとこ。極端な話、あなたがOpenIDのサービスを始めて、認証できたりする。Livedoorだろうが、はてなだろうが、あなただろうが、どこだろうが本人かどうか認証でき、その認証済みの情報をもって他のサイトにログインできたりする。*1この性質をもってOpenIDは"分散認証システム"であるという。
なお、分散であるため、OpenIDに対応したアプリケーションを構築すれば、Livedoorがなくなったとしても、そのほかのOpenID認証局があれば問題なくサービスを続けられるよ。


つづくよ。

*1:もちろん、「"認証"と"認可"」で説明した通り、あくまでも本人であるかの"認証"で、それでログインできるか("認可"されるか)どうかは話が別。この例ではあなたのところでの認証が信用できるかってのはLivedoorが判断する。Livedoorがあなたのところでの認証が信頼できないと判断したなら、認可されない。