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

瀏覽器相容性

另見