IdentityCredential:disconnect() 靜態方法
IdentityCredential 介面的 disconnect() 靜態方法可斷開已指定的聯邦登入賬號與用於獲取憑證的 IdP 的連線。
此後,再使用該賬號進行聯邦登入將需要重新啟動聯邦登入流程。
語法
js
IdentityCredential.disconnect(options)
引數
options-
一個選項物件,可以包含以下屬性:
accountHint-
一個字串,用於指定 IdP 用來識別要斷開連線的賬號的提示。只要 disconnect endpoint 能夠識別該賬號,該提示可以是一個任意字串,例如電子郵件地址或使用者 ID。這不一定與 accounts list endpoint 提供的賬號 ID 相匹配。
clientId-
一個字串,用於指定 RP 的客戶端識別符號,該識別符號在登入期間透過
providers的clientId屬性指定。 configURL-
一個字串,用於指定 IdP 的配置檔案 URL,該 URL 在登入期間透過
providers的configURL屬性指定。
返回值
異常
InvalidStateErrorDOMException-
在以下情況下丟擲
- IdP 的
configURL無效或缺少disconnect_endpoint。 - 文件的源與
configURL不匹配。
- IdP 的
NetworkErrorDOMException-
在以下情況下丟擲
- 瀏覽器無法連線到 IdP。
- 請求被
connect-srcContent-Security-Policy阻止。 - 之前已發出另一個
disconnect()呼叫,但尚未解析。 - FedCM API 已全域性停用。
- IdP 的
configURL既不安全也不 值得信賴。
NotAllowedErrorDOMException-
如果嵌入的
<iframe>沒有設定identity-credentials-getPermissions-Policy 來允許使用disconnect(),或者如果 FedCM API 被頂級文件上的策略全域性停用,則會丟擲此錯誤。
示例
基本的 disconnect() 用法
RP 可以透過呼叫 disconnect() 來斷開已指定的聯邦登入賬號與關聯 IdP 的連線。此函式可以從頂級 RP 框架呼叫。
js
IdentityCredential.disconnect({
configURL: "https://idp.example.com/config.json",
clientId: "rp123",
accountHint: "account456",
});
要使 disconnect() 呼叫生效,IdP 必須在其配置檔案中包含 disconnect_endpoint。有關底層 HTTP 通訊的更多詳細資訊,請參閱 The disconnect endpoint。
規範
| 規範 |
|---|
| Federated Credential Management API # dom-identitycredential-disconnect |
瀏覽器相容性
載入中…
另見
- Federated Credential Management API on privacysandbox.google.com (2023)