なんだか 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 してみてください。 😛