PublicKeyCredential: rawId property

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨September 2021⁩.

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

The rawId read-only property of the PublicKeyCredential interface is an ArrayBuffer object containing the identifier of the credentials.

The PublicKeyCredential.id property is a base64url encoded version of this identifier.

Note: This property may only be used in top-level contexts and will not be available in an <iframe> for example.

Value

An ArrayBuffer containing the identifier of the credentials. This identifier is expected to be globally unique and is appointed for the current PublicKeyCredential and its associated AuthenticatorAssertionResponse.

Examples

js
const options = {
  challenge: new Uint8Array(26) /* from the server */,
  rp: {
    name: "Example CORP",
    id: "login.example.com",
  },
  user: {
    id: new Uint8Array(26) /* To be changed for each user */,
    name: "canand@example.com",
    displayName: "Carina Anand",
  },
  pubKeyCredParams: [
    {
      type: "public-key",
      alg: -7,
    },
  ],
};

navigator.credentials
  .create({ publicKey: options })
  .then((pubKeyCredential) => {
    const rawId = pubKeyCredential.rawId;
    // Do something with rawId
  })
  .catch((err) => {
    // Deal with any error
  });

Specifications

Specification
Web Authentication: An API for accessing Public Key Credentials - Level 3
# dom-publickeycredential-rawid

Browser compatibility