title | short-title | slug | page-type | status | browser-compat | |
---|---|---|---|---|---|---|
IdentityCredential: isAutoSelected property |
isAutoSelected |
Web/API/IdentityCredential/isAutoSelected |
web-api-instance-property |
|
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.
A boolean value. true
indicates that automatic reauthentication was used; false
indicates that it was not.
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}}
{{Compat}}