aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/api/identitymanager/request/index.html
blob: df3d91bdeb80255f7f1561312897fe7b6a7cc808 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
---
title: navigator.id.request
slug: Web/API/IdentityManager/request
tags:
  - BrowserID
  - DOM
  - Gecko DOM Reference
  - Persona
  - Security
translation_of: Archive/IdentityManager/request
---
<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>この関数は、Web サイトが <a href="/ja/docs/Persona" title="Persona">Persona</a> を使用してユーザの認証ができるようにします。この関数は click ハンドラから呼び出されなければなりません。例えば、ユーザがページ上の「log in with Persona」ボタンをクリックした時に呼び出します。</p>
<p>呼び出された時、<code>navigator.id.request()</code> がユーザにログインするメールアドレスを選択するように求め、さらにユーザの証明書が期限切れの場合は ID プロバイダで認証するように求めます。これらが完了した後、ユーザのメールアドレスとパスワードを含む署名付きの <strong>アサーション</strong> が生成されます。このアサーションは、{{domxref("navigator.id.watch()")}} で登録された <code>onlogin</code> コールバックに渡されます。</p>
<p>この関数は、{{domxref("navigator.id.watch()")}} と連動して <strong>使用されなければなりません</strong></p>
<h2 id="Syntax" name="Syntax">構文</h2>
<pre class="syntaxbox">navigator.id.request();
navigator.id.request({siteName: 'Example Site', siteLogo: '/logo.png'});
navigator.id.request({termsOfService: '/tos.html', privacyPolicy: '/privacy.html'});
</pre>
<h3 id="Parameters" name="Parameters">引数</h3>
<dl>
 <dt>
  <code>oncancel</code> {{ optional_inline() }}</dt>
 <dd>
  この関数は、ユーザが ID をサイトと共有することを拒否した場合に呼び出されます。</dd>
 <dt>
  <code>privacyPolicy</code> {{ optional_inline() }}</dt>
 <dd>
  Web サイトのプライバシーポリシーのページへの絶対パスまたは URL。この引数を指定する場合、<code>termsOfService</code> も指定しなければなりません。<code>termsOfService</code><code>privacyPolicy</code> の両方を与えた場合、ログインダイアログに "you confirm that you accept this site's Terms of Use and Privacy Policy." というメッセージを表示してサイトの利用規約とプライバシーポリシーを知らせます。これには、それぞれのページへのリンクが含まれます。<code>termsOfService</code> が指定されない場合、この引数は効果がありません。</dd>
 <dt>
  <code>returnTo</code> {{ optional_inline() }}</dt>
 <dd>
  新しいユーザが最初にメールアドレスの検証を完了した後に表示されるページへの絶対パス。パスは '<code>/</code>' で始めなければなりません。この引数は、Mozilla のフォールバック ID プロバイダにより証明されたユーザにのみ影響します。</dd>
 <dt>
  <code>siteLogo</code> {{ optional_inline() }}</dt>
 <dd>
  ログインダイアログに表示する、画像への絶対パス。パスは '<code>/</code>' で始めなければなりません。また、SSL 経由の読み込みが可能でなければなりません。大きなサイズの画像は 100×100 ピクセルに収まるサイズに縮小されます。</dd>
 <dt>
  <code>siteName</code> {{ optional_inline() }}</dt>
 <dd>
  ログインダイアログに表示する、サイトのプレーンテキスト表記。Unicode 文字列とスペースは使えますが、マークアップはできません。</dd>
 <dt>
  <code>termsOfService</code> {{ optional_inline() }}</dt>
 <dd>
  Web サイトの利用規約のページへの絶対パスまたは URL。この引数を指定する場合、<code>privacyPolicy</code> も指定しなければなりません。<code>termsOfService</code><code>privacyPolicy</code> の両方を与えた場合、ログインダイアログに "you confirm that you accept this site's Terms of Use and Privacy Policy." というメッセージを表示してサイトの利用規約とプライバシーポリシーを知らせます。これには、それぞれのページへのリンクが含まれます。<code>privacyPolicy</code> が指定されない場合、この引数は効果がありません。</dd>
</dl>
<h2 id="Example" name="Example"></h2>
<pre class="brush:js;">var signinLink = document.getElementById('signin');
if (signinLink) {
  signinLink.onclick = function(evt) {
    // ユーザから署名付き ID アサーションを要求する
    navigator.id.request({
      siteName: 'My Example Site',
      siteLogo: '/logo.png',
      termsOfService: '/tos.html',
      privacyPolicy: '/privacy.html',
      returnTo: '/welcome.html',
      oncancel: function() { alert('ユーザが ID の共有を拒否しました。'); }
    });
  };
}</pre>
<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.watch()")}}</li>
 <li>{{domxref("navigator.id.logout()")}}</li>
</ul>