navigator.id.watch

« DOM リファレンス

非標準

注記: この機能は、まだどのブラウザでもサポートされていません。Persona を使用する Web サイトは、そのページに ポリフィルライブラリ を含めなければなりません。

概要

この関数は、Persona ユーザのログインとログアウトに応答するコールバックを登録します。

構文

navigator.id.watch({
  loggedInUser: 'bob@example.org',
  onlogin: function(assertion) {
    // ユーザがログインしました! ここで必要なことは:
    // 1. 検証とセッション作成のためのアサーションをバックエンドに送信する。
    // 2. UI を更新する。
  },
  onlogout: function() {
    // ユーザがログアウトしました! ここで必要なことは:
    // リダイレクトするかバックエンドの呼び出しを行って、ユーザのセッションを破棄する。
  }
});

引数

loggedInUser Optional
注記: この引数は 9 月上旬に loggedInEmail から名前が変更されました。しばらくの間はどちらの名前も使用できますが、loggedInUser を使用するようにコードを変更してください。
現在ログインしているユーザのメールアドレス。Web サイトにユーザがログインしている場合は、ユーザのメールアドレスを含む文字列でなければなりません。そうでない場合は null です。Web サイトがユーザのログイン状態を判別できないときは、undefined がセットされるか省略されます。
Persona は、そのローカルユーザの認識と loggedInUser の値を比較して、onloginonlogout のどちらのコールバックを呼ぶか、または何もしないかを決定し、ページが読み込まれた時に自動的に呼び出します。loggedInUserundefined または省略された場合、Persona は、ローカルユーザがあなたのサイトにログインしているかどうかによって、onloginonlogout のどちらかを呼び出すでしょう。これらのコールバックは、Persona と loggedInUser の両方において、ローカルユーザの状態が同じでなければ自動的に呼び出されません。
Persona はページが読み込まれた時に onloginonlogoutどちらか を自動的に読み込みます。両方 ではないので注意してください。loggedInUserfoo@example.com がセットされており、一方で Persona が bar@example.com がログインしていると認識している場合、onlogin のみが呼び出されます。この場合、最初の引数として bar@example.com のアサーションが渡されます。
onlogin
ユーザがログインした時に、1 個の引数としてアサーションが渡され、呼び出される関数。この関数は、検証のためにアサーションをサイトのバックエンドに送信します。検証が成功した場合、バックエンドでユーザのセッションを確立し、この関数内で UI (ログインボタン) を適切なものに更新してください。
onlogout
ユーザがログアウトした時に、引数なしで呼び出される関数。この関数で、サイトのバックエンドを呼び出すかユーザをリダイレクトすることにより、ユーザのセッションを破棄してください。

コード例

例が必要。

仕様

まだどの仕様書にも含まれていません。

関連情報

Document Tags and Contributors

Contributors to this page: ethertank, Marsf
最終更新者: ethertank,