IdentityCredential

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

IdentityCredential 接口是 联合凭证管理 API (FedCM) 的一部分,用于表示成功联合登录后产生的用户身份凭证。

成功的 navigator.credentials.get() 调用,如果包含 `identity` 选项,则会以 IdentityCredential 实例的形式得到满足(fulfilled)。

Credential IdentityCredential

实例属性

继承自其祖先 Credential 的属性。

IdentityCredential.configURL 只读 实验性

一个字符串,指定用于登录的 身份提供商 (IdP)配置文件 URL。

IdentityCredential.isAutoSelected 只读 实验性

一个布尔值,指示联合登录是否通过 自动重新认证(即,无需用户干预)进行,或者不是。

IdentityCredential.token 实验性

返回用于验证关联登录的令牌。

静态方法

IdentityCredential.disconnect() 实验性

断开用于获取凭证的联合登录账户。

示例

基本联合登录

信赖方 (RP) 可以调用 `navigator.credentials.get()` 并附带 `identity` 选项,来请求用户通过身份提供商 (IdP) 进行联合登录。一个典型的请求如下所示:

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

如果成功,此调用将以 IdentityCredential 实例得到满足。从这里,您可以返回 IdentityCredential.token 值,例如:

js
console.log(identityCredential.token);

有关此功能的更多详细信息,请查看 联合凭证管理 API (FedCM)。此调用将启动 FedCM 登录流程 中所述的登录流程。

规范

规范
Federated Credential Management API
# browser-api-identity-credential-interface

浏览器兼容性

另见