NavigatorLogin: setStatus() 方法
setStatus() 是 NavigatorLogin 介面的一個方法,當從聯合身份提供者 (IdP) 的源(origin)呼叫時,它用於設定聯合身份提供者 (IdP) 的登入狀態。這裡的“登入狀態”指的是“當前瀏覽器中是否有使用者登入到 IdP”。當用戶登入或登出 IdP 後,IdP 網站應該呼叫此方法。
瀏覽器會為每個 IdP 儲存此狀態;然後 FedCM API 利用此狀態來減少對 IdP 的請求次數(因為它不需要在沒有使用者登入 IdP 的情況下浪費時間請求賬戶資訊)。此方法還可以緩解 潛在的時序攻擊。
有關 FedCM 登入狀態的更多資訊,請參閱 使用登入狀態 API 更新登入狀態。
語法
js
setStatus(status)
引數
status-
一個字串,表示要為 IdP 設定的登入狀態。可能的值為:
"logged-in":該 IdP 至少有一個使用者賬戶已登入。"logged-out":所有 IdP 使用者賬戶當前都已登出。
返回值
一個 Promise,它將以 undefined 解析。
異常
SecurityErrorDOMException-
如果呼叫域不在一個所有巢狀層級都同源(same-origin)的框架中,則會丟擲此錯誤。無論是在主框架、巢狀在主框架中的
<iframe>中,還是巢狀在第一個<iframe>中多層深度的其他<iframe>中呼叫,所有巢狀層級都必須是同源的,呼叫才能成功。
示例
js
/* Set logged-in status */
navigator.login.setStatus("logged-in");
/* Set logged-out status */
navigator.login.setStatus("logged-out");
規範
| 規範 |
|---|
| 登入狀態 API # dom-navigatorlogin-setstatus |
瀏覽器相容性
載入中…