Skip to content

Latest commit

 

History

History
56 lines (40 loc) · 2.39 KB

File metadata and controls

56 lines (40 loc) · 2.39 KB
title short-title slug page-type status browser-compat
IdentityCredential: isAutoSelected property
isAutoSelected
Web/API/IdentityCredential/isAutoSelected
web-api-instance-property
experimental
api.IdentityCredential.isAutoSelected

{{securecontext_header}}{{APIRef("FedCM API")}}{{SeeCompatTable}}

The isAutoSelected read-only property of the {{domxref("IdentityCredential")}} interface indicates whether the federated sign-in flow was carried out using auto-reauthentication (i.e. without user mediation) or not.

Automatic reauthentication can occur when a {{domxref("CredentialsContainer.get", "navigator.credentials.get()")}} call is issued with a mediation option value of "optional" or "silent". It is useful for a relying party (RP) to know whether auto reauthentication occurred for analytics/performance evaluation and for UX purposes — automatic sign-in may warrant a different UI flow to non-automatic sign-in.

Value

A boolean value. true indicates that automatic reauthentication was used; false indicates that it was not.

Examples

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. Auto-reauthentication behavior is controlled by the mediation option in the get() call:

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

  // isAutoSelected is true if auto-reauthentication occurred.
  const isAutoSelected = identityCredential.isAutoSelected;
}

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

{{Specifications}}

Browser compatibility

{{Compat}}

See also