IdentityCredential

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

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

The IdentityCredential interface of the Federated Credential Management API (FedCM) represents a user identity credential arising from a successful federated sign-in.

A successful navigator.credentials.get() call that includes an identity option fulfills with an IdentityCredential instance.

Credential IdentityCredential

Instance properties

Inherits properties from its ancestor, Credential.

IdentityCredential.isAutoSelected Read only Experimental Non-standard

A boolean value that indicates whether the federated sign-in was carried out using auto-reauthentication (i.e. without user mediation) or not.

IdentityCredential.token Experimental

Returns the token used to validate the associated sign-in.

Examples

Relying parties (RPs) can call navigator.credentials.get() with the identity option to make a request for users to sign in to the RP via an identity provider (IdP), using identity federation. A typical request would look like this:

js
async function signIn() {
  const identityCredential = await navigator.credentials.get({
    identity: {
      providers: [
        {
          configURL: "https://accounts.idp.example/config.json",
          clientId: "********",
          nonce: "******",
        },
      ],
    },
  });
}

If successful, this call will fulfill with an IdentityCredential instance. From this, you could return the IdentityCredential.token value, for example:

js
console.log(identityCredential.token);

Check out Federated Credential Management API (FedCM) for more details on how this works. This call will start off the sign-in flow described in FedCM sign-in flow.

Specifications

Specification
Federated Credential Management API
# browser-api-identity-credential-interface

Browser compatibility

BCD tables only load in the browser

See also