aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/api/identitymanager/watch/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/ja/web/api/identitymanager/watch/index.html')
-rw-r--r--files/ja/web/api/identitymanager/watch/index.html143
1 files changed, 0 insertions, 143 deletions
diff --git a/files/ja/web/api/identitymanager/watch/index.html b/files/ja/web/api/identitymanager/watch/index.html
deleted file mode 100644
index 7daf89d3ac..0000000000
--- a/files/ja/web/api/identitymanager/watch/index.html
+++ /dev/null
@@ -1,143 +0,0 @@
----
-title: navigator.id.watch
-slug: Web/API/IdentityManager/watch
-tags:
- - BrowserID
- - DOM
- - Persona
-translation_of: Archive/IdentityManager/watch
----
-<div>{{ApiRef}} {{non-standard_header}}</div>
-
-<div class="note"><strong>注記:</strong> この機能は、まだどのブラウザでもサポートされていません。Persona を使用する Web サイトは、そのページに <a href="https://login.persona.org/include.js" title="https://login.persona.org/include.js">ポリフィルライブラリ</a> を含めなければなりません。</div>
-
-<h2 id="Summary" name="Summary">概要</h2>
-
-<p>この関数は、<a href="/docs/Persona" title="Persona">Persona</a> ユーザのログインとログアウトに応答するコールバックを登録します。</p>
-
-<h2 id="Syntax" name="Syntax">構文</h2>
-
-<pre class="brush:js;">navigator.id.watch({
- loggedInUser: 'bob@example.org',
- onlogin: function(assertion) {
- // ユーザがログインしました! ここで必要なことは:
- // 1. 検証とセッション作成のためのアサーションをバックエンドに送信する。
- // 2. UI を更新する。
- },
- onlogout: function() {
- // ユーザがログアウトしました! ここで必要なことは:
- // リダイレクトするかバックエンドの呼び出しを行って、ユーザのセッションを破棄する。
- }
-});
-</pre>
-
-<h3 id="Parameters" name="Parameters">引数</h3>
-
-<dl>
- <dt><code>loggedInUser </code>{{optional_inline}}</dt>
- <dd>このパラメーターはユーザーの状態がどうなっているはずであるかを Persona に伝えるものです。値は文字列か <code>null</code> あるいは <code>undefined</code> です。</dd>
- <dd>文字列はユーザーがサイトに現在ログインしているはずであることを表します。この文字列はそのユーザーの E-mail アドレスであって,大文字/小文字は区別します。null は誰もログインしていないはずであることを表します。このパラメーターを省略するか,あるいは undefined を与えるのは,ユーザーがログインしているか否か不明であることを意味します。</dd>
- <dd>Persona は常に,ユーザーはサイトにログインしたいか,あるいはしたくないのだと考えています。Persona は loggedInUser の値を自らの信ずるところ(訳注:Persona が認識しているユーザー)と比較し,この二つの状態を一致させるため,(以下の表のごとくに)適切な関数を呼び出します:</dd>
- <dd>
- <table>
- <thead>
- <tr>
- <th scope="col">loggedInUser</th>
- <th scope="col">Persona's State</th>
- <th scope="col">Callback</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>null</code></td>
- <td>"foo@example.com"</td>
- <td><code>onlogin()</code></td>
- </tr>
- <tr>
- <td><code>undefined</code></td>
- <td>"foo@example.com"</td>
- <td><code>onlogin()</code></td>
- </tr>
- <tr>
- <td>"bar@example.com"</td>
- <td>"foo@example.com"</td>
- <td><code>onlogin()</code></td>
- </tr>
- <tr>
- <td>"foo@example.com"</td>
- <td>"foo@example.com"</td>
- <td style="text-align: center;"><em>none</em></td>
- </tr>
- <tr>
- <td><code>null</code></td>
- <td><code>null</code></td>
- <td style="text-align: center;"><em>none</em></td>
- </tr>
- <tr>
- <td>"foo@example.com"</td>
- <td><code>null</code></td>
- <td><code>onlogout()</code></td>
- </tr>
- <tr>
- <td><code>undefined</code></td>
- <td><code>null</code></td>
- <td><code>onlogout()</code></td>
- </tr>
- </tbody>
- </table>
- </dd>
- <dd>ページが読み込まれた時に Persona が自動的に呼び出すのは <code>onlogin</code> と <code>onlogout</code> の <em>どちらか</em> であることに注意してください。<em>両方</em> 呼ばれることはありません(訳注:表のとおりどちらも呼ばれないことはある)。<code>loggedInUser</code> に <code>foo@example.com</code> がセットされているのに、Persona が <code>bar@example.com</code> がログインしていると認識している場合、<code>onlogin</code> のみが呼び出されます。この場合、第1引数として <code>bar@example.com</code> のアサーションが渡されます。</dd>
- <dt><code>onlogin</code></dt>
- <dd>ユーザがログインした時に、1 個の引数としてアサーションが渡され、呼び出される関数。この関数は、検証のためにアサーションをサイトのバックエンドに送信します。検証が成功した場合、バックエンドでユーザのセッションを確立し、この関数内で UI (ログインボタン) を適切なものに更新してください。</dd>
- <dt><code>onlogout</code> {{ optional_inline() }}</dt>
- <dd>ユーザがログアウトした時に、引数なしで呼び出される関数。この関数で、サイトのバックエンドを呼び出すかユーザをリダイレクトすることにより、ユーザのセッションを破棄してください。</dd>
- <dd><code>onlogout</code> が与えられなかったとき <a href="/Persona/The_navigator.id_API#The_Observer_API">Observer API</a> によるセッション管理は無効化されます。<code>onready</code> と <code>onlogin</code> だけが呼び出されます。<code>onlogin</code> は、ユーザーによるログイン操作の反応としてしか呼び出されません(つまりユーザーがログインしていた場合に自動的に呼び出されたりはしません)。</dd>
- <dt><code>onready</code> {{ optional_inline() }}</dt>
- <dd>A function that will be invoked when the user agent is initialized and able to process calls to <code>id.request</code> and <code>id.logout</code>. The onready callback will be invoked immediately after any automatic invocations of <code>onlogin</code>, <code>onlogout</code>, or <code>onmatch</code>. By waiting to display UI until <code>onready</code> is called, relying parties can avoid UI flicker in cases where the user agent's preferred state is out of sync with the site's session.</dd>
- <dd>Note that <code>onready</code> will not be invoked after calls to <code>id.request</code> or <code>id.logout</code>. It is the punctuation mark that concludes the conversation started by <code>watch</code>.</dd>
-</dl>
-
-<h2 id="Example" name="Example">コード例</h2>
-
-<div class="container">
-<pre class="brush: js">navigator.id.watch({
- loggedInUser: currentUser, // This is email of current user logged into your site
-
- onlogin: function(assertion) {
-
- $.ajax({ // This example uses jQuery, but you can use whatever you'd like
- type: 'POST',
- url: '/auth/login', // This is a URL on your website.
- data: {assertion: assertion}
- success: function(res, status, xhr) { window.location.reload(); },
- error: function(xhr, status, err) {
- navigator.id.logout();
- alert("Login failure: " + err);
- }
- });
- },
-
- onlogout: function() {
- $.ajax({
- type: 'POST',
- url: '/auth/logout', // This is a URL on your website.
- success: function(res, status, xhr) { window.location.reload(); },
- error: function(xhr, status, err) { alert("Logout failure: " + err); }
- });
- }
-
-})<code class="js plain">;</code></pre>
-</div>
-
-<h2 id="Specification" name="Specification">仕様</h2>
-
-<p>まだどの仕様書にも含まれていません。</p>
-
-<h2 id="See_also" name="See_also">関連情報</h2>
-
-<ul>
- <li><a href="/docs/Persona" title="Persona">BrowserID</a></li>
- <li>{{domxref("navigator.id")}}</li>
- <li>{{domxref("navigator.id.logout()")}}</li>
- <li>{{domxref("navigator.id.request()")}}</li>
-</ul>