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.

We’d love to hear your thoughts on the next set of proposals for the JavaScript language. You can find a description of the proposals here.
Please take two minutes to fill out our short survey.

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