今でも、実装の最初の段階では、システムはユーザーにとって非常にシンプルです:彼は一度メールを確認する必要があり、その後、パスワードを入力せずにマウスを2回クリックするだけで、任意のサイトで安全に認証する機会を得ます。 将来、BrowserIDサポートがブラウザーに展開され、メールプロバイダーが第1レベルの認証センターになると、承認がさらに簡素化されます。
これは、GmailがBrowserIDをサポートする場合のシステムの動作です。 この場合、WebサイトBrowserid.orgで電子メールアドレスを確認する必要はありません。Browserid.orgは、現在、最初のレベルの唯一の識別センターです。
パスワードの欠如に加えて、BrowserIDの主な利点はプライバシー保護です。OpenIDや類似のすべてのシステムとは異なり、BrowserIDのIDプロバイダーは、ユーザーがログインしているサイトに関するデータを受け取りません 。
BrowserIDをサポートするには、ページタイトルに次の行を追加してinclude.jsライブラリを含めるだけです。
<script src="https://browserid.org/include.js" type="text/javascript"></script>
カスタムボタンの代わりに、BrowserIDに提供される標準のボタンのいずれかを配置できます。
ボタンを押すと、電子メールアドレスの検証機能が呼び出されます。
navigator.id.getVerifiedEmail(function(assertion) { if (assertion) { // This code will be invoked once the user has successfully // selected an email address they control to sign in with. } else { // something went wrong! the user isn't logged in. } });
電子メールアドレスを正常にチェックした後、APIはユーザーの電子メールを確認する署名付き
assertion
文字列を返します。
2番目の段階では、
assertion
を検証し、ユーザーの電子メールを取得する必要があります。 これは、2つの
POST
パラメーター(
assertion
と
audience
)を使用したhttps://browserid.org/verifyへの要求によって行われます-要求は既に署名によって署名されています。 検証者は、
assertion
の有効性をチェックします。
$ curl -d "assertion=<ASSERTION>&audience=https://mysite.com" "https://browserid.org/verify" { "status": "okay", "email": "lloyd@example.com", "audience": "https://mysite.com", "expires": 1308859352261, "issuer": "browserid.org" }
アサーション検証は、独自のサーバーで実行することもできます。 検証者の 仕様とソースコードを参照してください。 この場合、絶対的な情報保護が提供されます-IDプロバイダーは、ユーザーがログオンしたサイトに関するデータを受信しません。
BrowserIDデモ(2011年9月のMozilla All Handsカンファレンスから)