Secure context

This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

The timeout property, of the PublicKeyCredentialCreationOptions dictionary, represents an hint, given in milliseconds, for the time the script is willing to wait for the completion of the creation operation.

This property is optional and merely is a hint which may be overridden by the browser.

Note: An analogous option exists for the fetching operation (navigators.credentials.get()), see PublicKeyCredentialRequestOptions.timeout.


timeout = publicKeyCredentialCreationOptions.timeout


A numerical hint, expressed in milliseconds, giving the time to wait for the creation operation to complete.


var publicKey = {
  timeout: 60000, // Accepting to wait for a minute before giving up.
  challenge: new Uint8Array(26) /* this actually is given from the server */,
  rp: {
    name: "Example CORP",
    id  : ""
  user: {
    id: new Uint8Array(26), /* To be changed for each user */
    name: "",
    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) {


Web Authentication: An API for accessing Public Key Credentials - Level 3 (Web Authentication)
# dom-publickeycredentialcreationoptions-timeout

Browser compatibility

BCD tables only load in the browser

See also