navigator.id.request

非標準
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 サイトは、そのページに ポリフィルライブラリ を含めなければなりません。

概要

この関数は、Web サイトが Persona を使用してユーザの認証ができるようにします。この関数は click ハンドラから呼び出されなければなりません。例えば、ユーザがページ上の「log in with Persona」ボタンをクリックした時に呼び出します。

呼び出された時、navigator.id.request() がユーザにログインするメールアドレスを選択するように求め、さらにユーザの証明書が期限切れの場合は ID プロバイダで認証するように求めます。これらが完了した後、ユーザのメールアドレスとパスワードを含む署名付きの アサーション が生成されます。このアサーションは、navigator.id.watch() で登録された onlogin コールバックに渡されます。

この関数は、navigator.id.watch() と連動して 使用されなければなりません

構文

navigator.id.request();
navigator.id.request({siteName: 'Example Site', siteLogo: '/logo.png'});
navigator.id.request({termsOfService: '/tos.html', privacyPolicy: '/privacy.html'});

引数

oncancel Optional
この関数は、ユーザが ID をサイトと共有することを拒否した場合に呼び出されます。
privacyPolicy Optional
Web サイトのプライバシーポリシーのページへの絶対パスまたは URL。この引数を指定する場合、termsOfService も指定しなければなりません。termsOfServiceprivacyPolicy の両方を与えた場合、ログインダイアログに "you confirm that you accept this site's Terms of Use and Privacy Policy." というメッセージを表示してサイトの利用規約とプライバシーポリシーを知らせます。これには、それぞれのページへのリンクが含まれます。termsOfService が指定されない場合、この引数は効果がありません。
returnTo Optional
新しいユーザが最初にメールアドレスの検証を完了した後に表示されるページへの絶対パス。パスは '/' で始めなければなりません。この引数は、Mozilla のフォールバック ID プロバイダにより証明されたユーザにのみ影響します。
siteLogo Optional
ログインダイアログに表示する、画像への絶対パス。パスは '/' で始めなければなりません。また、SSL 経由の読み込みが可能でなければなりません。大きなサイズの画像は 100×100 ピクセルに収まるサイズに縮小されます。
siteName Optional
ログインダイアログに表示する、サイトのプレーンテキスト表記。Unicode 文字列とスペースは使えますが、マークアップはできません。
termsOfService Optional
Web サイトの利用規約のページへの絶対パスまたは URL。この引数を指定する場合、privacyPolicy も指定しなければなりません。termsOfServiceprivacyPolicy の両方を与えた場合、ログインダイアログに "you confirm that you accept this site's Terms of Use and Privacy Policy." というメッセージを表示してサイトの利用規約とプライバシーポリシーを知らせます。これには、それぞれのページへのリンクが含まれます。privacyPolicy が指定されない場合、この引数は効果がありません。

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 の共有を拒否しました。'); }
    });
  };
}

仕様

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

関連情報

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

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