IdentityCredentialRequestOptions

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

IdentityCredentialRequestOptions 字典表示傳遞給 CredentialsContainer.get()identity 選項的值所對應的物件。

當在 依賴方 (RP) 網站上呼叫 get() 時提供了 identity 選項,使用者將看到一個 聯合身份提供商 (IdP) 列表作為登入選項。一旦使用者成功使用其中一個選項登入,get() 呼叫返回的 Promise 將會返回一個 IdentityCredential 物件。

例項屬性

context 可選

一個字串,用於指定使用者使用 FedCM 進行身份驗證的上下文。瀏覽器使用此值來改變其 FedCM UI 中的文字,以便更好地適應上下文。可能的值有:

"continue"

適用於使用者選擇身份以繼續流程的下一頁,而該頁面需要登入的情況。瀏覽器將顯示類似於以下內容的文字字串:

繼續到 <page-origin> 與 <IdP>

"signin"

適用於使用者使用在此來源上已使用過的 IdP 賬戶進行登入的一般情況。瀏覽器將顯示類似於以下內容的文字字串:

登入到 <page-origin> 與 <IdP>

"signup"

一種選項,適用於使用者使用在此之前未使用過的新 IdP 賬戶登入此來源的情況。瀏覽器將顯示類似於以下內容的文字字串:

註冊到 <page-origin> 與 <IdP>

"use"

適用於執行其他操作(例如驗證付款)的情況。瀏覽器將顯示類似於以下內容的文字字串:

使用 <page-origin> 與 <IdP>

預設值為 "signin"

mode 可選

一個字串,用於指定用於登入流程的使用者介面模式。可能的值有:

啟用

登入流程必須透過使用者操作(例如點選按鈕)來啟動。如果 mode 設定為 active,則 providers 的長度只能是 1,否則 get() promise 將會拒絕。

passive

登入流程可以在沒有直接使用者互動的情況下啟動。這是預設值。

有關這兩種模式之間差異的更多資訊,請參閱 Active versus passive mode

providers

一個物件陣列,指定使用者應作為登入選項呈現的 IdP 的詳細資訊。這些物件可以包含以下屬性:

configURL

一個字串,指定 IdP 的配置檔案 URL。有關更多資訊,請參閱 Provide a config file

clientId

一個字串,指定 RP 客戶端識別符號。此資訊由 IdP 在一個獨立的、特定於 IdP 的過程中頒發給 RP。

domainHint 可選

一個字串,提示 RP 感興趣的賬戶的域。如果提供,使用者代理將僅在他們 domain_hints 陣列中顯示與域提示值匹配的賬戶。如果指定了 "any",RP 將顯示與至少一個域提示關聯的任何賬戶。

fields 可選

一個字串陣列,指定 RP 希望從 IdP 獲取以用於登入過程的使用者資訊。確切的字串因 IdP 而異,但通常類似於 "name""email""profile-picture-url"

loginHint 可選

一個字串,提供關於瀏覽器應向用戶提供的登入賬戶選項的提示。這在使用者已登入且網站要求重新驗證身份時非常有用。否則,當用戶擁有多個賬戶且不記得之前用於登入的賬戶時,重新驗證過程可能會令人困惑。loginHint 屬性的值可以取自使用者的先前登入,並與 IdP 在 IdP 的 賬戶列表端點 返回的使用者資訊陣列中提供的 login_hints 值進行匹配。

nonce 可選

一個隨機字串,可以包含在其中,以確保響應是專門為此請求發出的,並防止 重放攻擊

params 可選

一個自定義物件,用於指定 RP 需要傳送給 IdP 的任何其他鍵值引數。這將因 IdP 而異,並且可能包含例如額外的許可權請求,如 admin: truecalendar: "readonly"

規範

規範
Federated Credential Management API
# dictdef-identitycredentialrequestoptions

瀏覽器相容性