CredentialsContainer: store() method

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

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

The store() method of the CredentialsContainer stores a set of credentials for the user inside a Credential instance, returning this in a Promise.

Note: This method is restricted to top-level contexts. Calls to it within an <iframe> element will resolve without effect.

Syntax

js
store(credentials)

Parameters

credentials

A valid Credential instance.

Return value

A Promise that resolves to undefined.

Exceptions

NotAllowedError DOMException

Thrown if there is also a credential of the same type as the current one under operation.

Examples

Storing a password credential at successful authentication

This code would be executed after a user signs up or logs in and the server confirms the credential is correct.

js
// Check if the browser supports password credentials (and the Credential Management API)
if ("PasswordCredential" in window) {
  let credential = new PasswordCredential({
    id: "example-username",
    name: "Carina Anand", // In case of a login, the name comes from the server.
    password: "correct horse battery staple",
  });

  navigator.credentials.store(credential).then(
    () => {
      console.info("Credential stored in the user agent's credential manager.");
    },
    (err) => {
      console.error("Error while storing the credential: ", err);
    },
  );
}

Specifications

Specification
Credential Management Level 1
# dom-credentialscontainer-store

Browser compatibility

BCD tables only load in the browser