非標準
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
も指定しなければなりません。termsOfService
とprivacyPolicy
の両方を与えた場合、ログインダイアログに "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
も指定しなければなりません。termsOfService
とprivacyPolicy
の両方を与えた場合、ログインダイアログに "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 の共有を拒否しました。'); } }); }; }
仕様
まだどの仕様書にも含まれていません。