Method: projects.accounts.sendOobCode

傳送帳戶的額外確認碼。經過驗證的要求可以選擇傳回包含 OOB 代碼的連結,而非傳送該代碼。

HTTP 要求

POST https://identitytoolkit.googleapis.com/v1/projects/{targetProjectId}/accounts:sendOobCode

這個網址使用 gRPC 轉碼語法。

路徑參數

參數
targetProjectId

string

帳戶所屬 Identity Platform 專案的專案 ID。如要指定這個欄位,您必須具備具備適當權限的 Google OAuth 2.0 憑證。

授權需要指定資源 targetProjectId 的下列 IAM 權限:

  • firebaseauth.users.sendEmail

要求主體

要求主體包含下列結構的資料:

JSON 表示法
{
  "requestType": enum (OobReqType),
  "email": string,
  "challenge": string,
  "captchaResp": string,
  "userIp": string,
  "newEmail": string,
  "idToken": string,
  "continueUrl": string,
  "iOSBundleId": string,
  "iOSAppStoreId": string,
  "androidPackageName": string,
  "androidInstallApp": boolean,
  "androidMinimumVersion": string,
  "canHandleCodeInApp": boolean,
  "tenantId": string,
  "dynamicLinkDomain": string,
  "returnOobLink": boolean,
  "clientType": enum (ClientType),
  "recaptchaVersion": enum (RecaptchaVersion),
  "linkDomain": string
}
欄位
requestType

enum (OobReqType)

這是必要旗標,要傳送的非頻道 (OOB) 碼類型。視這個值而定,這項要求中的其他欄位將為必填欄位,且/或具有不同的含義。系統可傳送 4 種不同的 OOB 驗證碼:* PASSWORD_RESET * EMAIL_SIGNIN * VERIFY_EMAIL * VERIFY_AND_CHANGE_EMAIL

email

string

要傳送 OOB 代碼的帳戶電子郵件地址,通常是需要更新的帳戶電子郵件地址。此參數適用於 PASSWORD_RESET、EMAIL_SIGNIN 和 VERIFY_EMAIL。只有在 returnOobLink 設為 true 時,才需要提供 VERIFY_AND_CHANGE_EMAIL 要求。在本例中,這會是使用者的原始電子郵件地址。

challenge
(deprecated)

string

captchaResp

string

對於 PASSWORD_RESET 要求,如果系統偵測到可能的濫用活動,就必須提供 reCaptcha 回應。在這種情況下,這是 reCAPTCHA 驗證問題的回應,用於驗證呼叫端。

userIp

string

呼叫端的 IP 位址。只有 PASSWORD_RESET 要求需要提供。

newEmail

string

帳戶更新後的電子郵件地址。僅適用於 VERIFY_AND_CHANGE_EMAIL 要求。

idToken

string

帳戶的 ID 權杖。除非 returnOobLink 設為 true,否則必須使用此參數,才能傳送 VERIFY_AND_CHANGE_EMAIL 和 VERIFY_EMAIL 要求。

continueUrl

string

使用者點選電子郵件中傳送的連結後,要繼續執行的網址。這個網址可讓網頁小工具處理 OOB 代碼。

iOSBundleId

string

如果相關聯的 iOS 應用程式可以處理 OOB 代碼,則為該應用程式的 iOS 軟體包 ID。這樣一來,如果已安裝正確的應用程式,系統就會開啟該應用程式。

iOSAppStoreId

string

如果相關聯的 iOS 應用程式可以處理 OOB 代碼,則為該應用程式的 App Store ID。這樣一來,如果應用程式尚未安裝,App Store 就會開啟正確的應用程式。

androidPackageName

string

如果相關聯的 Android 應用程式可以處理 OOB 代碼,則在使用此 OOB 代碼時,會處理回呼的 Android 應用程式 Android 套件名稱。這樣一來,系統就能開啟正確的應用程式 (如果已安裝),或開啟 Google Play 商店,讓使用者安裝正確的應用程式。

androidInstallApp

boolean

如果相關聯的 Android 應用程式可以處理 OOB 程式碼,則在開啟連結的裝置上安裝 Android 應用程式 (如果尚未安裝)。

androidMinimumVersion

string

如果相關聯的 Android 應用程式可處理 OOB 代碼,則為應用程式的最低版本。如果裝置上的版本低於此版本,使用者就會前往 Google Play 商店升級應用程式。

canHandleCodeInApp

boolean

如果設為 true,系統會以通用連結或 Android 應用程式連結傳送 OOB 程式碼連結,並由已安裝的對應應用程式開啟。如果未設定或設為 false,系統會先將 OOB 代碼傳送至網頁小工具,然後在繼續時將重新導向至已安裝的應用程式。

tenantId

string

帳戶所屬 Identity Platform 租戶的租戶 ID。

clientType

enum (ClientType)

用戶端類型:網頁、Android 或 iOS。啟用 reCAPTCHA Enterprise 防護功能時必須提供。

recaptchaVersion

enum (RecaptchaVersion)

captchaResponse 中 reCAPTCHA 權杖的 reCAPTCHA 版本。

回應主體

如果成功,回應主體會包含 GetOobCodeResponse 的執行個體。

授權範圍

需要下列其中一種 OAuth 範圍:

  • https://www.googleapis.com/auth/identitytoolkit
  • https://www.googleapis.com/auth/cloud-platform

詳情請參閱 Authentication Overview