IdentityCredential: token 属性

可用性有限

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

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

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

IdentityCredential 接口的只读属性 token 返回用于验证关联登录的令牌。

该令牌包含已使用 身份提供商 (IdP) 的 数字证书 签名的用户身份信息。

受信方 (RP) 将令牌发送到其服务器以验证证书,成功后即可使用令牌中(现在受信任的)身份信息为其用户登录其服务(启动新会话)、为其新用户注册其服务等。

如果用户从未登录过 IdP 或已退出登录,则相关的 get() 调用会返回一个错误,RP 可以将用户重定向到 IdP 登录页面以登录或创建账户。

注意: FedCM API 和浏览器无法理解验证令牌的确切结构和内容。IdP 决定其语法和用法,RP 需要遵循 IdP 提供的说明(例如,请参阅 在服务器端验证 Google ID 令牌),以确保正确使用它。

字符串。

示例

基本的联合登录和 token 访问

受信方 (RP) 可以调用 navigator.credentials.get() 并使用 identity 选项,请求用户通过身份提供商 (IdP) 使用身份联合登录 RP。典型的请求如下所示:

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

  console.log(identityCredential.token);
}

包含 identity 选项的成功的 navigator.credentials.get() 调用会返回一个 IdentityCredential 实例,该实例可用于访问用于验证登录的 token

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

规范

规范
Federated Credential Management API
# dom-identitycredential-token

浏览器兼容性

另见