なんだか Yahoo! さんも OpenID プロバイダをはじめるらしく、にわかにざわめきたっている OpenID。 インターネット上のシングルサインオンシステムですが、まぁ今は OpenID プロバイダばっかりたっていて、実際に使える Web サービスが少ないのでたいして身近ではないかもしれません。。
一応、OpenID ってなんだって話を書いてみると、
- 今は各 Web サービスに、パスワード等の情報をあずけているが、これを外部1つのサーバ (OpenID プロバイダ)に任せよう。
- 各 Web サービスにログインするときに使うのは、OpenID プロバイダから発行されたユーザIDを入力、パスワード等の認証はいっかい OpenID プロバイダの画面に飛ばされてそこで認証。 できたら、各 Web サービスに画面戻る。
見た目はこんな感じになります。 あっちこっちにパスワード登録しなくてすむのが、一番身近な利点かも知れません。
またいまはできる OpenID プロバイダは少ないですが、Web サービスからの要求によって、登録しているニックネームとか他の付加情報も渡すことができます。(はてなはログイン可否しかとれないみたい)
要は、(できるかしらないけど)住所とかを OpenID プロバイダに登録しておけば各 Web サービスはそこから情報をとるので一元管理できる。 引っ越しも安心って感じです(あくまでイメージ) もちろん、Web サービスに情報を渡すかどうかとかは、OpenID プロバイダの管理画面で細かく設定できるよう、、な仕組みが、、あるはず。。
国内では、はてなとか Livedoor とかが OpenID プロバイダサービスをやっていて、たとえばはてななら、
こういうのが、OpenID のユーザ名になります。 URL なんです。 URL を使っているおかげで、全世界でユニークな ID となります。 これを OpenID 対応 Web サービスの、ログインフォームのユーザ名に入力します。
で、書きたかったのは OpenID のひとつの機能である delegate という機能。 代理、、ですね。
もし、自分が Web サーバをもっているのならば、そこの URL にちょっとした細工をするだけで、その URL を OpenID として使うことができます。 ドメインを持っていれば、自分のドメインが ID として使えるのです。
これはとても簡単で、設定したい URL にアクセスしたときに返す HTML の head に次のように、ホントに自分の使っている OpenID プロバイダの情報を書くだけです。
1: <html>
2: <head>
3: <link rel="openid.server" href="http://www.hatena.ne.jp/openid/server" />
4: <link rel="openid.delegate" href="http://www.hatena.ne.jp/h1romas4/" />
5: </head>
6: <body></body>
7: </html>
もちろん、ただの HTML なので、あとの部分にふつうにページをつくってもかまいません。
この HTML を index.html として、たとえば、
でアクセスできる領域に FTP しておけば、この URL を自分の OpenID として使えます。 実際に認証してくれるのははてなの OpenID です。
例は、わざわざ openid ってホスト名をつけてたり、URL に /hiromasa/ とかつけてて長ったらしくなっていますが、もちろん打ちやすいように短くしてもいいですし、たとえば WP のサイトそのものの URL にしてもいいでしょう。(WP サイトのhead に上記をいれてくれるプラグインもあるようです)
こうしておくと、ドメインを持っている限り永久に同じ ID をつかえるし、実体の OpenID プロバイダが気にくわなくなってのりかえたり、つぶれちゃったときも、HTML で代理先を書き換えるだけで済み、 ID そのものを変更する必要がなくなります。 また、自分のドメインだから覚えやすい。
また、サイトの URL そのものが ID になるというトリック(?)を使って、面白いサービスが出てくるような気もします。
てなかんじで、まだ流行るか分からないですけど、もしデファクトになるようなことがあったら、 delegate してみてください。