IdentityCredential: isAutoSelected 属性
IdentityCredential 接口的只读属性 isAutoSelected 指示是否使用 自动重新认证(即,无需用户干预)执行了联合登录流程。
当使用 mediation 选项值为 "optional" 或 "silent" 调用 navigator.credentials.get() 时,可能会发生自动重新认证。对于 信赖方 (RP) 来说,了解自动重新认证是否发生对于分析/性能评估和用户体验目的很有用——自动登录可能需要与非自动登录不同的 UI 流程。
值
一个布尔值。true 表示使用了自动重新认证;false 表示未使用。
示例
基本的联合登录和 isAutoSelected 访问
RP 可以使用 identity 选项调用 navigator.credentials.get(),以通过 IdP 请求用户登录 RP,使用身份联合。自动重新认证行为由 get() 调用中的 mediation 选项控制。
js
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;
}
一个成功的 identity 选项的 navigator.credentials.get() 调用会 fulfilled 一个 IdentityCredential 实例,该实例可用于访问 isAutoSelected 属性:如果发生了自动重新认证,其值将等于 true。
有关此功能的更多详细信息,请查看 联合凭证管理 API (FedCM)。此调用将启动 FedCM 登录流程 中所述的登录流程。
规范
| 规范 |
|---|
| Federated Credential Management API # dom-identitycredential-isautoselected |
浏览器兼容性
加载中…