mozilla
Your Search Results

    navigator.id.watch

    非標準
    This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

    注記: この機能は、まだどのブラウザでもサポートされていません。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
    ユーザがログアウトした時に、引数なしで呼び出される関数。この関数で、サイトのバックエンドを呼び出すかユーザをリダイレクトすることにより、ユーザのセッションを破棄してください。

    コード例

    例が必要。

    仕様

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

    関連情報

    ドキュメントのタグと貢献者

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