diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
commit | 33058f2b292b3a581333bdfb21b8f671898c5060 (patch) | |
tree | 51c3e392513ec574331b2d3f85c394445ea803c6 /files/ja/web/api/publickeycredentialcreationoptions | |
parent | 8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff) | |
download | translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.gz translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.bz2 translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.zip |
initial commit
Diffstat (limited to 'files/ja/web/api/publickeycredentialcreationoptions')
3 files changed, 361 insertions, 0 deletions
diff --git a/files/ja/web/api/publickeycredentialcreationoptions/authenticatorselection/index.html b/files/ja/web/api/publickeycredentialcreationoptions/authenticatorselection/index.html new file mode 100644 index 0000000000..33ff8caa99 --- /dev/null +++ b/files/ja/web/api/publickeycredentialcreationoptions/authenticatorselection/index.html @@ -0,0 +1,108 @@ +--- +title: PublicKeyCredentialCreationOptions.authenticatorSelection +slug: Web/API/PublicKeyCredentialCreationOptions/authenticatorSelection +tags: + - API + - Property + - PublicKeyCredentialCreationOptions + - Reference + - Web Authentication API + - WebAuthn +translation_of: Web/API/PublicKeyCredentialCreationOptions/authenticatorSelection +--- +<div>{{APIRef("Web Authentication API")}}{{securecontext_header}}</div> + +<p><strong><code>authenticatorSelection</code></strong> は {{domxref("PublicKeyCredentialCreationOptions")}} 辞書の任意のプロパティであり、生成操作に使用される認証機器をフィルタリングする条件を指定するオブジェクトです。</p> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox"><em>authenticatorSelection</em> = <em>publicKeyCredentialCreationOptions</em>.authenticatorSelection</pre> + +<h3 id="Value" name="Value">値</h3> + +<p>以下のプロパティを持つオブジェクトです。</p> + +<dl> + <dt><code>authenticatorAttachment</code>{{optional_inline}}</dt> + <dd>文字列で、 "<code>platform</code>" または "<code>cross-platform</code>" のどちらかです。前者は認証機器がクライアントに接続されており、通常は取り外し不可能であることを示します。後者は機器が異なるプラットフォームをまたがって使用される可能性があることを示します (USB や NFC 端末など)。</dd> + <dt><code>requireResidentKey</code>{{optional_inline}}</dt> + <dd>論理値で、認証情報の秘密鍵を認証機器、クライアント、クライアント端末の中に格納する必要があるのか、どうかを示します。既定値は <code>false</code> です。</dd> + <dt><code>userVerification</code>{{optional_inline}}</dt> + <dd>A string qualifying how the user verification should be part of the authentication process. The values may be: + <ul> + <li>"<code>required</code>": user verification is required, the operation will fail if the {{domxref("AuthenticatorAttestationResponse","response","",1)}} does not have the UV flag (as part of the <code>authenticatorData</code> property of {{domxref("AuthenticatorAttestationResponse.attestationObject")}})</li> + <li>"<code>preferred</code>": user verification is prefered, the operation will not fail if the {{domxref("AuthenticatorAttestationResponse","response","",1)}} does not have the UV flag (as part of the <code>authenticatorData</code> property of {{domxref("AuthenticatorAttestationResponse.attestationObject")}})</li> + <li>"<code>discouraged</code>": user verification should not be employed as to minimize the user interaction during the process.</li> + </ul> + The default value is "<code>preferred</code>".</dd> +</dl> + +<p>The authenticator used for the creation of the public key credential must comply with the requirements.</p> + +<div class="blockIndicator note"> +<p><strong>Note: </strong>See {{domxref("PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()")}} which resolves to <code>true</code> when a user-verifiying platform authenticator is available.</p> +</div> + +<h2 id="Examples" name="Examples">例</h2> + +<pre class="brush: js">var publicKey = { + authenticatorSelection:{ + authenticatorAttachment: "cross-platform", + requireResidentKey: true, + userVerification: "required" + }, + challenge: new Uint8Array(26) /* this actually is given 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 }) + .then(function (newCredentialInfo) { + // send attestation response and client extensions + // to the server to proceed with the registration + // 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','#dom-publickeycredentialcreationoptions-authenticatorselection','authenticatorSelection')}}</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.PublicKeyCredentialCreationOptions.excludeCredentials")}}</p> + +<h2 id="See_also">See also</h2> + +<ul> + <li>{{domxref("PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()")}}</li> + <li>{{domxref("AuthenticatorAssertionResponse.authenticatorData")}} whose structure contains the UV flag (please note that for the creation operation, {{domxref("AuthenticatorAttestationResponse.attestationObject")}} only contains a CBOR encoded version of this data and does not give an immediate access to the flag).</li> +</ul> diff --git a/files/ja/web/api/publickeycredentialcreationoptions/excludecredentials/index.html b/files/ja/web/api/publickeycredentialcreationoptions/excludecredentials/index.html new file mode 100644 index 0000000000..dd67cabdfe --- /dev/null +++ b/files/ja/web/api/publickeycredentialcreationoptions/excludecredentials/index.html @@ -0,0 +1,106 @@ +--- +title: PublicKeyCredentialCreationOptions.excludeCredentials +slug: Web/API/PublicKeyCredentialCreationOptions/excludeCredentials +tags: + - API + - Property + - PublicKeyCredentialCreationOptions + - Reference + - Web Authentication API + - WebAuthn + - プロパティ +translation_of: Web/API/PublicKeyCredentialCreationOptions/excludeCredentials +--- +<div>{{APIRef("Web Authentication API")}}{{securecontext_header}}</div> + +<p><strong><code>excludeCredentials</code></strong> は {{domxref("PublicKeyCredentialCreationOptions")}} 辞書の任意のプロパティであり、指定されたユーザーに既に存在する公開鍵の記述子を要素に持つ {{jsxref("Array")}} オブジェクトです。これは既存のユーザーに新しい認証情報を生成することを避けたい場合、パーティのサーバーから提供されます。</p> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox"><em>excludeCredentials </em>= <em>publicKeyCredentialCreationOptions</em>.excludeCredentials</pre> + +<h3 id="Value" name="Value">値</h3> + +<p>{{jsxref("Array")}} で、以下のプロパティを持つオブジェクトを要素に持ちます。</p> + +<dl> + <dt><code>type</code></dt> + <dd>文字列で、生成された公開鍵の認証情報の種類を表します。この文書の執筆時点 (2019年3月) では、 "<code>public-key</code>" のみが使用可能です。</dd> + <dt><code>id</code></dt> + <dd>{{domxref("BufferSource")}} で、既存の公開鍵の認証情報の識別子 ({{domxref("PublicKeyCredential.rawId")}}) に一致します。子の識別子は <code>PublicKeyCredential</code> インスタンスの生成時に生成されます。</dd> + <dt><code>transports</code> {{optional_inline}}</dt> + <dd>文字列の {{jsxref("Array")}} で、クライアントと認証機器の通信方法を記述します。使用可能な文字列は次の通りです。 + <ul> + <li>"<code>usb</code>": 認証機器は取り外し可能な USB 接続で接続することができます</li> + <li>"<code>nfc</code>": 認証機器は <a href="https://en.wikipedia.org/wiki/Near-field_communication">NFC (Near Field Communication)</a> を通して使用することができます</li> + <li>"<code>ble</code>": 認証機器は <a href="https://en.wikipedia.org/wiki/Bluetooth_Low_Energy">BLE (Bluetooth Low Energy)</a> を通して使用することができます</li> + <li>"<code>internal</code>": 認証機器はクライアント端末の中に埋め込まれています (取り外せません)。</li> + </ul> + </dd> +</dl> + +<p>認証機器がすでにそのような公開鍵認証情報の一つを含んでいる場合、クライアントは {{domxref("DOMException")}} を発生さえるか、ユーザーに新しい認証情報を生成したいかを確認するかします。</p> + +<h2 id="Examples" name="Examples">例</h2> + +<pre class="brush: js">var publicKey = { + excludeCredentials: [ + { + type: "public-key", + // the id for john.doe@example.com + id : new Uint8Array(26) /* this actually is given by the server */ + }, + { + type: "public-key", + // the id for john-doe@example.com + id : new Uint8Array(26) /* another id */ + } + ], + challenge: new Uint8Array(26) /* this actually is given 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 }) + .then(function (newCredentialInfo) { + // send attestation response and client extensions + // to the server to proceed with the registration + // 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','#dom-publickeycredentialcreationoptions-excludecredentials','excludeCredentials')}}</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.PublicKeyCredentialCreationOptions.excludeCredentials")}}</p> diff --git a/files/ja/web/api/publickeycredentialcreationoptions/index.html b/files/ja/web/api/publickeycredentialcreationoptions/index.html new file mode 100644 index 0000000000..bc8fe1883c --- /dev/null +++ b/files/ja/web/api/publickeycredentialcreationoptions/index.html @@ -0,0 +1,147 @@ +--- +title: PublicKeyCredentialCreationOptions +slug: Web/API/PublicKeyCredentialCreationOptions +tags: + - API + - Dictionary + - PublicKeyCredentialCreationOptions + - Reference + - Web Authentication API + - WebAuthn +translation_of: Web/API/PublicKeyCredentialCreationOptions +--- +<div>{{APIRef("Web Authentication API")}}{{securecontext_header}}</div> + +<p><code><strong>PublicKeyCredentialCreationOptions</strong></code> は <a href="/ja/docs/Web/API/Web_Authentication_API">Web Authentication API</a> の辞書で、 {{domxref("CredentialsContainer.create()","navigators.credentials.create()")}} で {{domxref("PublicKeyCredential")}} を生成するために渡されるオプションを保持します。</p> + +<h2 id="Properties" name="Properties">プロパティ</h2> + +<dl> + <dt>{{domxref("PublicKeyCredentialCreationOptions.rp")}}</dt> + <dd>資格情報の生成のリクエスト元を示すオブジェクトです。</dd> + <dt>{{domxref("PublicKeyCredentialCreationOptions.user")}}</dt> + <dd>資格情報が生成されるユーザーアカウントを示すオブジェクトです。</dd> + <dt>{{domxref("PublicKeyCredentialCreationOptions.challenge")}}</dt> + <dd>{{domxref("BufferSource")}} 型で、証明書利用者のサーバーによって生成され、<a href="https://en.wikipedia.org/wiki/Challenge%E2%80%93response_authentication">暗号チャレンジ</a>として使用されるものです。この値は認証プロバイダーによって署名され、署名は {{domxref("AuthenticatorAssertionResponse.signature")}} の一部として送り返されます。</dd> + <dt>{{domxref("PublicKeyCredentialCreationOptions.pubKeyCredParams")}}</dt> + <dd>{{jsxref("Array")}} 型で、資格情報に要求される機能を指定する要素の配列です。暗号化署名の操作で使用される種類とアルゴリズムを含みます。この配列は設定の降順で並べ替えられます。</dd> + <dt>{{domxref("PublicKeyCredentialCreationOptions.timeout")}} {{optional_inline}}</dt> + <dd>数値のヒントで、取得操作が完了するまで呼び出し元が待機する時間をミリ秒単位で表します。このヒントは、ブラウザーによって上書きされる場合があります。</dd> + <dt>{{domxref("PublicKeyCredentialCreationOptions.excludeCredentials")}} {{optional_inline}}</dt> + <dd>{{jsxref("Array")}} で、既存の資格情報の記述子の配列です。これは、すでに資格情報を持つ既存のユーザーが新しい公開鍵資格情報を生成することを防ぐために、認証者によって提供されます。</dd> + <dt>{{domxref("PublicKeyCredentialCreationOptions.authenticatorSelection")}} {{optional_inline}}</dt> + <dd>生成操作で使用可能な認証機器を絞り込む条件をプロパティに持つオブジェクトです。</dd> + <dt>{{domxref("PublicKeyCredentialCreationOptions.attestation")}} {{optional_inline}}</dt> + <dd>{{jsxref("String")}} で、認証結果を (認証機器の元が) 送信する方法を示します。</dd> + <dt>{{domxref("PublicKeyCredentialCreationOptions.extensions")}} {{optional_inline}}</dt> + <dd>複数のクライアント拡張機能の入力を持つオブジェクトです。これらの拡張機能は、追加の処理を要求するために使用されます (例えば、従来の FIDO API 資格情報を処理、認証端末上でのテキストの要求など)。</dd> +</dl> + +<h2 id="Methods" name="Methods">メソッド</h2> + +<p>なし。</p> + +<h2 id="Examples" name="Examples">例</h2> + +<pre class="brush: js;">// some examples of COSE algorithms +const cose_alg_ECDSA_w_SHA256 = -7; +const cose_alg_ECDSA_w_SHA512 = -36; + +var createCredentialOptions = { + // Format of new credentials is publicKey + publicKey: { + // Relying Party + rp: { + name: "Example CORP", + id: "login.example.com", + icon: "https://login.example.com/login.ico" + }, + // Cryptographic challenge from the server + challenge: new Uint8Array(26), + // User + user: { + id: new Uint8Array(16), + name: "john.p.smith@example.com", + displayName: "John P. Smith", + }, + // Requested format of new keypair + pubKeyCredParams: [{ + type: "public-key", + alg: cose_alg_ECDSA_w_SHA256, + }], + // Timeout after 1 minute + timeout: 60000, + // Do not send the authenticator's origin attestation + attestation: "none", + extensions: { + uvm: true, + exts: true + }, + // Filter out authenticators which are bound to the device + authenticatorSelection:{ + authenticatorAttachment: "cross-platform", + requireResidentKey: true, + userVerification: "preferred" + }, + // Exclude already existing credentials for the user + excludeCredentials: [ + { + type: "public-key", + // the id for john.doe@example.com + id : new Uint8Array(26) /* this actually is given by the server */ + }, + { + type: "public-key", + // the id for john-doe@example.com + id : new Uint8Array(26) /* another id */ + } + ] + } +}; + +// Create the new credential with the options above +navigator.credentials.create(createCredentialOptions) + .then(function (newCredentialInfo) { + var attestationResponse = newCredentialInfo.response; + var clientExtensionsOutputs = newCredentialInfo.getClientExtensionsResults(); + + // Send the response to the relying party server + // it will verify the content and integrity before + // creating a new credential + + }).catch(function (err) { + // Deal with any error properly + 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','#dictdef-publickeycredentialcreationoptions', 'PublicKeyCredentialCreationOptions dictionary')}}</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.PublicKeyCredentialCreationOptions")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{domxref("PublicKeyRequestOptions")}}: 公開鍵を受け取る操作のオプションを提供する辞書</li> +</ul> |