Method: projects.tenants.accounts.sendOobCode

为账号发送非现场确认码。来自已通过身份验证的请求的请求可以选择返回包含 OOB 代码的链接,而不是发送该代码。

HTTP 请求

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

网址采用 gRPC 转码语法。

路径参数

参数
targetProjectId

string

账号所属 Identity Platform 项目的项目 ID。如需指定此字段,您需要具有适当权限的 Google OAuth 2.0 凭据。

必须对指定的资源 targetProjectId 具有以下 IAM 权限才能进行授权:

  • firebaseauth.users.sendEmail
tenantId

string

账号所属 Identity Platform 租户的租户 ID。

请求正文

请求正文中包含结构如下的数据:

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,
  "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

用户点击电子邮件中发送的链接后要继续访问的网址。此网址可让 Web 微件处理 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 时,OOBE 代码链接将以通用链接或 Android 应用链接的形式发送;如果用户已安装相应应用,该链接将在应用中打开。如果未设置或设置为 false,系统会先将 OOB 代码发送到 Web widget,然后在接续时重定向到应用(如果已安装应用)。

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