From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- .../publickeycredentialcreationoptions/index.html | 147 +++++++++++++++++++++ 1 file changed, 147 insertions(+) create mode 100644 files/ja/web/api/publickeycredentialcreationoptions/index.html (limited to 'files/ja/web/api/publickeycredentialcreationoptions/index.html') 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 +--- +
{{APIRef("Web Authentication API")}}{{securecontext_header}}
+ +

PublicKeyCredentialCreationOptionsWeb Authentication API の辞書で、 {{domxref("CredentialsContainer.create()","navigators.credentials.create()")}} で {{domxref("PublicKeyCredential")}} を生成するために渡されるオプションを保持します。

+ +

プロパティ

+ +
+
{{domxref("PublicKeyCredentialCreationOptions.rp")}}
+
資格情報の生成のリクエスト元を示すオブジェクトです。
+
{{domxref("PublicKeyCredentialCreationOptions.user")}}
+
資格情報が生成されるユーザーアカウントを示すオブジェクトです。
+
{{domxref("PublicKeyCredentialCreationOptions.challenge")}}
+
{{domxref("BufferSource")}} 型で、証明書利用者のサーバーによって生成され、暗号チャレンジとして使用されるものです。この値は認証プロバイダーによって署名され、署名は {{domxref("AuthenticatorAssertionResponse.signature")}} の一部として送り返されます。
+
{{domxref("PublicKeyCredentialCreationOptions.pubKeyCredParams")}}
+
{{jsxref("Array")}} 型で、資格情報に要求される機能を指定する要素の配列です。暗号化署名の操作で使用される種類とアルゴリズムを含みます。この配列は設定の降順で並べ替えられます。
+
{{domxref("PublicKeyCredentialCreationOptions.timeout")}} {{optional_inline}}
+
数値のヒントで、取得操作が完了するまで呼び出し元が待機する時間をミリ秒単位で表します。このヒントは、ブラウザーによって上書きされる場合があります。
+
{{domxref("PublicKeyCredentialCreationOptions.excludeCredentials")}} {{optional_inline}}
+
{{jsxref("Array")}} で、既存の資格情報の記述子の配列です。これは、すでに資格情報を持つ既存のユーザーが新しい公開鍵資格情報を生成することを防ぐために、認証者によって提供されます。
+
{{domxref("PublicKeyCredentialCreationOptions.authenticatorSelection")}} {{optional_inline}}
+
生成操作で使用可能な認証機器を絞り込む条件をプロパティに持つオブジェクトです。
+
{{domxref("PublicKeyCredentialCreationOptions.attestation")}} {{optional_inline}}
+
{{jsxref("String")}} で、認証結果を (認証機器の元が) 送信する方法を示します。
+
{{domxref("PublicKeyCredentialCreationOptions.extensions")}} {{optional_inline}}
+
複数のクライアント拡張機能の入力を持つオブジェクトです。これらの拡張機能は、追加の処理を要求するために使用されます (例えば、従来の FIDO API 資格情報を処理、認証端末上でのテキストの要求など)。
+
+ +

メソッド

+ +

なし。

+ +

+ +
// 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);
+  });;
+
+ +

仕様書

+ + + + + + + + + + + + + + + + +
仕様書状態備考
{{SpecName('WebAuthn','#dictdef-publickeycredentialcreationoptions', 'PublicKeyCredentialCreationOptions dictionary')}}{{Spec2('WebAuthn')}}初回定義
+ +

ブラウザーの互換性

+ + + +

{{Compat("api.PublicKeyCredentialCreationOptions")}}

+ +

関連情報

+ + -- cgit v1.2.3-54-g00ecf