| <input type="text" id="input"> |
| <script> |
| const testCtapPinInvalidErrorBase64 = "MQ=="; |
| const testPinGetRetriesResponseBase64 = "AKEDCA=="; |
| const testPinGetKeyAgreementResponseBase64 = "AKEBpQECAzgYIAEhWCDodiWJbuTkbcAydm6Ah5YvNt+d/otWfzdjAVsZkKYOFCJYICfeYS1mQYvaGVBYHrxcjB2tcQyxTCL4yXBF9GEvsgyR"; |
| const testCtapPinBlockedErrorBase64 = "Mg=="; |
| if (window.internals) { |
| internals.setMockWebAuthenticationConfiguration({ hid: { supportClientPin: true, payloadBase64: [testCtapPinInvalidErrorBase64, testPinGetRetriesResponseBase64, testPinGetKeyAgreementResponseBase64, testCtapPinBlockedErrorBase64] } }); |
| internals.withUserGesture(() => { input.focus(); }); |
| } |
| |
| const options = { |
| publicKey: { |
| rp: { |
| name: "localhost", |
| }, |
| user: { |
| name: "John Appleseed", |
| id: new Uint8Array(16), |
| displayName: "Appleseed", |
| }, |
| challenge: new Uint8Array(16), |
| pubKeyCredParams: [{ type: "public-key", alg: -7 }] |
| } |
| }; |
| |
| navigator.credentials.create(options).then(credential => { |
| // console.log("Succeeded!"); |
| window.webkit.messageHandlers.testHandler.postMessage("Succeeded!"); |
| }, error => { |
| // console.log(error.message); |
| window.webkit.messageHandlers.testHandler.postMessage(error.message); |
| }); |
| </script> |