身份提供者

实验性: 这是一个 实验性技术
在生产环境中使用之前,请仔细查看 浏览器兼容性表

安全上下文:此功能仅在 安全上下文 (HTTPS) 中可用,并且在部分或所有 支持的浏览器 中可用。

IdentityProvider 接口是 联合凭据管理 (FedCM) API 的一部分,它代表一个身份提供者 (IdP),并提供对相关信息和功能的访问。

静态方法

close() 实验性

向浏览器提供手动信号,表示 IdP 登录流程已完成。例如,当登录完全完成并且 IdP 已完成从用户处收集数据时,需要此信号来关闭 IdP 登录对话框。

getUserInfo() 实验性

返回有关先前登录的用户在返回 IdP 时信息,可用于提供个性化的欢迎消息和登录按钮。

示例

js
// Iframe displaying a page from the https://idp.example origin
const user_info = await IdentityProvider.getUserInfo({
  configUrl: "https://idp.example/fedcm.json",
  clientId: "client1234",
});

// IdentityProvider.getUserInfo() returns an array of user information.
if (user_info.length > 0) {
  // Returning accounts should be first, so the first account received
  // is guaranteed to be a returning account
  const name = user_info[0].name;
  const given_name = user_info[0].given_name;
  const display_name = given_name ? given_name : name;
  const picture = user_info[0].picture;
  const email = user_info[0].email;

  // ...

  // Render a personalized sign-in button using the information returned above
}

规范

规范
联合凭据管理 API
# browser-api-identity-provider-interface

浏览器兼容性

BCD 表仅在启用了 JavaScript 的浏览器中加载。

另请参阅