diff options
Diffstat (limited to 'files/ja/web/api/publickeycredential')
3 files changed, 319 insertions, 0 deletions
diff --git a/files/ja/web/api/publickeycredential/getclientextensionresults/index.html b/files/ja/web/api/publickeycredential/getclientextensionresults/index.html new file mode 100644 index 0000000000..325e75e058 --- /dev/null +++ b/files/ja/web/api/publickeycredential/getclientextensionresults/index.html @@ -0,0 +1,109 @@ +--- +title: PublicKeyCredential.getClientExtensionResults() +slug: Web/API/PublicKeyCredential/getClientExtensionResults +tags: + - API + - Method + - PublicKeyCredential + - Reference + - Web Authentication API + - WebAuthn +translation_of: Web/API/PublicKeyCredential/getClientExtensionResults +--- +<div>{{APIRef("Web Authentication API")}}{{securecontext_header}}</div> + +<p><strong><code>getClientExtensionResults()</code></strong> は {{domxref("PublicKeyCredential")}} インターフェイスのメソッドであり、 {{jsxref("ArrayBuffer")}} の形で拡張機能の識別子と、クライアントが処理した後の結果の対応表を返します。</p> + +<p><code>PublicKeyCredential</code> の生成または読み出し中 (それぞれ {{domxref("CredentialsContainer.create()","navigator.credentials.create()")}} および {{domxref("CredentialsContainer.get()","navigator.credentials.get()")}} で実施) に、それぞれ {{domxref("PublicKeyCredentialCreationOptions.extensions")}} および {{domxref("PublicKeyCredentialRequestOptions.extensions")}} によって与えられる別々の拡張機能のために、クライアントが処理する「専用の」処理を持つことができます。</p> + +<div class="blockIndicator note"> +<p><strong>メモ:</strong> 拡張機能はオプションであり、ブラウザーによって認識する拡張機能は異なります。すべての拡張機能はクライアントが処理することはオプションです。ブラウザーが指定された拡張機能を知らない場合、失敗としてはいけません。</p> +</div> + +<div class="note"> +<p><strong>メモ:</strong> このプロパティは最上位のコンテキストでしか使えない可能性があり、例えば {{HTMLElement("iframe")}} の中では利用できません。</p> +</div> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox">mapArrayBuffer = publicKeyCredential.getClientExtensionResults()</pre> + +<h3 id="Parameters" name="Parameters">引数</h3> + +<p>なし。</p> + +<h3 id="Return_value" name="Return_value">返値</h3> + +<p>{{jsxref("ArrayBuffer")}} の形で、クライアントが様々な拡張機能を処理した結果です。拡張子の識別子と、クライアントが処理した後の結果の対応表を返します。このオブジェクトには拡張機能の識別子と処理の結果の対応表が入っています。</p> + +<div class="blockIndicator warning"> +<p><strong>警告!</strong> 2019年3月時点で、 <code>appId</code> ({{domxref("PublicKeyCredentialRequestOptions.extensions")}} の生成の間に使用される) のみ、 <a href="https://bugs.chromium.org/p/chromium/issues/detail?id=818303">Chrome</a> および <a href="https://docs.microsoft.com/en-us/microsoft-edge/dev-guide/windows-integration/web-authentication#api-surface">Edge</a> が対応しています。 Firefox は<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1370728">どの拡張機能にも対応していない</a>ようです。</p> +</div> + +<h2 id="Examples" name="Examples">例</h2> + +<pre class="brush: js">var publicKey = { + // Here are the extensions (as "inputs") + extensions: { + "loc": true, // This extension has been defined to include location information in attestation + "uvi": true // user verification index: how the user was verified + }, + challenge: new Uint8Array(16) /* from the server */, + rp: { + name: "Example CORP", + id : "login.example.com" + }, + user: { + id: new Uint8Array(16) /* from the server */, + name: "jdoe@example.com", + displayName: "John Doe" + }, + pubKeyCredParams: [ + { + type: "public-key", + alg: -7 + } + ] +}; + +navigator.credentials.create({ publicKey }) + .then(function (newCredentialInfo) { + var myBuffer = newCredentialInfo.getClientExtensionResults(); + // myBuffer will contain the result of any of the processing of the "loc" and "uvi" extensions + }).catch(function (err) { + console.error(err); + });</pre> + +<h2 id="Specifications" name="Specifications">仕様書</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">仕様書</th> + <th scope="col">状態</th> + <th scope="col">備考</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('WebAuthn','#dom-publickeycredential-getclientextensionresults','getClientExtensionResults()')}}</td> + <td>{{Spec2('WebAuthn')}}</td> + <td>初回定義</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("api.PublicKeyCredential.getClientExtensionResults")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li><a href="https://www.w3.org/TR/webauthn/#sctn-defined-extensions">現在定義されている拡張機能の一覧</a></li> + <li>{{domxref("AuthenticatorAssertionResponse.authenticatorData")}}: 認証者の実行処理の結果が入る</li> + <li>{{domxref("PublicKeyCredentialCreationOptions.extensions")}}: 認証情報を作成するためのクライアント拡張機能の入力値が入る</li> + <li>{{domxref("PublicKeyCredentialRequestOptions.extensions")}}: 認証情報を受け取るクライアント拡張機能の入力値が入る</li> +</ul> diff --git a/files/ja/web/api/publickeycredential/index.html b/files/ja/web/api/publickeycredential/index.html new file mode 100644 index 0000000000..67c137d9eb --- /dev/null +++ b/files/ja/web/api/publickeycredential/index.html @@ -0,0 +1,125 @@ +--- +title: PublicKeyCredential +slug: Web/API/PublicKeyCredential +tags: + - API + - Authentication + - Interface + - PublicKeyCredential + - Reference + - Web Authentication API + - WebAuthn + - インターフェイス +translation_of: Web/API/PublicKeyCredential +--- +<div>{{APIRef("Web Authentication API")}}{{securecontext_header}}</div> + +<p><code><strong>PublicKeyCredential</strong></code> インターフェイスは、パスワードの代わりにフィッシングやデータ消去に耐性のある非対称の鍵ペアを使用してサービスにログインするための資格情報である、公開鍵と秘密鍵のペアについての情報を提供します。これは {{domxref("Credential")}} を継承しており、 <a href="/ja/docs/Web/API/Web_Authentication_API">Web Authentication API</a> が <a href="/ja/docs/Web/API/Credential_Management_API">Credential Management API</a> へ拡張された際に作成されました。 {{domxref("Credential")}} を継承している他のインターフェイスとしては、 {{domxref("PasswordCredential")}} や {{domxref("FederatedCredential")}} があります。</p> + +<div class="note"> +<p><strong>メモ:</strong> このインターフェイスは最上位のコンテキストに限定されています。 {{HTMLElement("iframe")}} 要素の中で使用しても、何も効果がありません。</p> +</div> + +<h2 id="Properties" name="Properties">プロパティ</h2> + +<dl> + <dt><code>PublicKeyCredential.type</code> {{ReadOnlyInline()}}{{securecontext_inline}}</dt> + <dd>{{domxref("Credential")}} から継承しています。 <code>PublicKeyCredential</code> の場合は、常に <code>public-key</code> に設定されています。</dd> + <dt>{{domxref("PublicKeyCredential.id")}} {{ReadOnlyInline()}}{{securecontext_inline}}</dt> + <dd>{{domxref("Credential")}} から継承しており、 {{domxref("PublicKeyCredential.rawId")}} の <a href="/ja/docs/Web/API/WindowBase64/Base64_encoding_and_decoding">base64url 符号化</a>になるようオーバーライドしています。</dd> + <dt>{{domxref("PublicKeyCredential.rawId")}} {{ReadOnlyInline()}}{{securecontext_inline}}</dt> + <dd>{{domxref("ArrayBuffer")}} 型で、この <code>PublicKeyCredential</code> のグローバルに固有な識別子を保持します。この識別子は今後の {{domxref("CredentialsContainer.get")}} の呼び出しにおいて、資格情報を検索するのに使用することができます。</dd> + <dt>{{domxref("PublicKeyCredential.response")}} {{ReadOnlyInline()}} {{securecontext_inline}}</dt> + <dd>{{domxref("AuthenticatorResponse")}} オブジェクトのインスタンスです。これは <code>PublicKeyCredential</code> が {{domxref("CredentialsContainer.create()","navigator.credentials.create()")}} の呼び出しの結果だった場合であった場合は {{domxref("AuthenticatorAttestationResponse")}} 型に、 <code>PublicKeyCredential</code> が {{domxref("CredentialsContainer.get()","navigator.credentials.get()")}} の呼び出しの結果であった場合は {{domxref("AuthenticatorAssertionResponse")}} 型になります。</dd> +</dl> + +<h2 id="Methods" name="Methods">メソッド</h2> + +<dl> + <dt>{{domxref("PublicKeyCredential.getClientExtensionResults()")}}{{securecontext_inline}}</dt> + <dd>何らかの拡張機能がリクエストされた場合、このメソッドはその拡張機能が処理した結果を返します。</dd> + <dt>{{domxref("PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()")}}{{securecontext_inline}}</dt> + <dd>静的メソッドで、認証機器が所属するプラットフォームがユーザーを<em>検証</em>する能力を持っているならば <code>true</code> で解決する {{jsxref("Promise")}} を返します。現在の実装状況では、このメソッドは <a href="https://docs.microsoft.com/en-us/microsoft-edge/dev-guide/windows-integration/web-authentication">Windows Hello</a> がシステムで利用可能な場合のみ <code>true</code> で解決します。</dd> +</dl> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Creating_a_new_instance_of_PublicKeyCredential" name="Creating_a_new_instance_of_PublicKeyCredential">PublicKeyCredential の新しいインスタンスを生成</h3> + +<p>ここでは、 {{domxref("CredentialsContainer.create()","navigator.credentials.create()")}} を用いて新しい資格情報を生成します。</p> + +<pre class="brush: js">var publicKey = { + challenge: /* from the server */, + rp: { + name: "Example CORP", + id : "login.example.com" + }, + user: { + id: new Uint8Array(16), + name: "jdoe@example.com", + displayName: "John Doe" + }, + pubKeyCredParams: [ + { + type: "public-key", + alg: -7 + } + ] +}; + +navigator.credentials.create({ publicKey }) + .then(function (newCredentialInfo) { + var response = newCredentialInfo.response; + var clientExtensionsResults = newCredentialInfo.getClientExtensionResults(); + }).catch(function (err) { + console.error(err); + });</pre> + +<h3 id="Getting_an_existing_instance_of_PublicKeyCredential" name="Getting_an_existing_instance_of_PublicKeyCredential">PublicKeyCredential の既存のインスタンスを取得</h3> + +<p>ここでは、 {{domxref("CredentialsContainer.get()","navigator.credentials.get()")}} を用いて認証機器から既存の資格情報を読み取ります。</p> + +<pre class="brush: js">var options = { + challenge: new Uint8Array([/* bytes sent from the server */]) +}; + +navigator.credentials.get({ "publicKey": options }) + .then(function (credentialInfoAssertion) { + // send assertion response back to the server + // to proceed with the control of the credential +}).catch(function (err) { + console.error(err); +}); + +</pre> + +<h2 id="Specifications" name="Specifications">仕様書</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">仕様書</th> + <th scope="col">状態</th> + <th scope="col">備考</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('WebAuthn','#iface-pkcredential','PublicKeyCredential interface')}}</td> + <td>{{Spec2('WebAuthn')}}</td> + <td>初回定義</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("api.PublicKeyCredential")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>親インターフェイスの {{domxref("Credential")}}</li> +</ul> diff --git a/files/ja/web/api/publickeycredential/rawid/index.html b/files/ja/web/api/publickeycredential/rawid/index.html new file mode 100644 index 0000000000..2d05c2892b --- /dev/null +++ b/files/ja/web/api/publickeycredential/rawid/index.html @@ -0,0 +1,85 @@ +--- +title: PublicKeyCredential.rawId +slug: Web/API/PublicKeyCredential/rawId +tags: + - API + - Property + - PublicKeyCredential + - Reference + - Web Authentication API + - WebAuthn + - プロパティ +translation_of: Web/API/PublicKeyCredential/rawId +--- +<div>{{APIRef("Web Authentication API")}}{{securecontext_header}}</div> + +<p><strong><code>rawId</code></strong> は {{domxref("PublicKeyCredential")}} インターフェイスの読み取り専用プロパティで、証明書の識別子が入った {{jsxref("ArrayBuffer")}} オブジェクトです。</p> + +<p>{{domxref("PublicKeyCredential.id")}} プロパティはこの識別子が <a href="/ja/docs/Web/API/WindowBase64/Base64_encoding_and_decoding">base64url エンコード</a>されたものです。</p> + +<div class="note"> +<p><strong>メモ:</strong> このプロパティは最上位のコンテキストでしか使えない可能性があり、例えば {{HTMLElement("iframe")}} の中では利用できません。</p> +</div> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox"><var>rawId</var> = <var>publicKeyCredential</var>.rawId</pre> + +<h3 id="Value" name="Value">値</h3> + +<p>{{jsxref("ArrayBuffer")}} で、証明書の識別子が入っています。この識別子はグローバルに固有で、現在の <code>PublicKeyCredential</code> および関連する {{domxref("AuthenticatorAssertionResponse")}} を指しています。</p> + +<h2 id="Examples" name="Examples">例</h2> + +<pre class="brush: js">var options = { + challenge: new Uint8Array(26) /* from the server */, + rp: { + name: "Example CORP", + id : "login.example.com" + }, + user: { + id: new Uint8Array(26), /* To be changed for each user */ + name: "jdoe@example.com", + displayName: "John Doe", + }, + pubKeyCredParams: [ + { + type: "public-key", + alg: -7 + } + ] +}; + +navigator.credentials.create({ publickey: options }) + .then(function (pubKeyCredential) { + var rawId = pubKeyCredential.rawId; + // Do something with rawId +}).catch(function (err) { + // Deal with any error +}); +</pre> + +<h2 id="Specifications" name="Specifications">仕様書</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">仕様書</th> + <th scope="col">状態</th> + <th scope="col">備考</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('WebAuthn','#dom-publickeycredential-rawid','rawId')}}</td> + <td>{{Spec2('WebAuthn')}}</td> + <td>初回定義</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの対応</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("api.PublicKeyCredential.rawId")}}</p> |