BrowserIDはWebサービスにおける認証を統合するシステム。

BrowserIDはnode.js/JavaScript製のオープンソース・ソフトウェア。今やWebサービスは無数に存在し、その中にはユーザ登録を求めるものがたくさんある。都度個人情報を登録したり、パスワードを設定するのは煩わしく、そのためにユーザ登録を断念するというケースも少なくない。


BrowserIDの画面

そんな中、認証情報を他のサイトに委譲するOpenIDが登場した。今はTwitterのようにOAuthを使って認証を行う場合もある。そんな中Mozillaが考えだしたのがBrowserIDだ。

BrowserIDはOpenIDの仲間のような仕組みだ。BrowserIDにユーザ登録(というかメールアドレス登録)を委譲できる。使うサイトはJavaScriptファイルを読み込むだけで良い。それだけでログイン状態が把握できるのだ。そして未ログインの場合はユーザはBrowserIDのアイコンをクリックしてログインしたりBrowserID上でユーザ登録を行う。


認証画面

その結果はリアルタイムに反映されるので利用サイト側で何かする、ということはない。ユーザの認証情報はキーと自分のサイトドメインを使って取得できるようになっている。Webサイト側はそれを使ってユーザのメールアドレス等が得られるという仕組みになっている。

[s2If current_user_can(access_s2member_level1)]

[/s2If]

MOONGIFTはこう見る

OpenIDの最大の欠点はユーザの連絡先が把握できないことにあった。Googleのようにメールアドレスを送ってくれるものもあるが、基本的に認証のみで通知も出せないのが難点だ。その点、BrowserIDはメールアドレスは確実に取得できるのが大きい。

ただし認証自体は別ウィンドウで行い、その結果がWebサイト側の表示にシームレスに反映されるので、認証した時にそのコードをサーバサイドに送信してユーザ情報を作り出す仕組みを設けておかないといけないのが難点かもしれない(OpenIDはコールバックされる仕組みだ)。いずれにしてもMozillaらしく、面白い仕組みだ。

A Better Way to Log In

mozilla/browserid - GitHub