Method: accounts.signInWithPassword

让用户使用电子邮件地址和密码登录。如果登录成功,系统会为经过身份验证的用户颁发新的 Identity Platform ID 令牌和刷新令牌。

请求中必须包含 API 密钥,以便识别 Google Cloud 项目。

HTTP 请求

POST https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword

网址采用 gRPC 转码语法。

请求正文

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

JSON 表示法
{
  "email": string,
  "password": string,
  "pendingIdToken": string,
  "captchaChallenge": string,
  "captchaResponse": string,
  "instanceId": string,
  "delegatedProjectNumber": string,
  "idToken": string,
  "returnSecureToken": boolean,
  "tenantId": string,
  "clientType": enum (ClientType),
  "recaptchaVersion": enum (RecaptchaVersion)
}
字段
email

string

必需。用户用于登录的电子邮件地址。电子邮件的长度应少于 256 个字符,且采用 name@domain.tld 格式。电子邮件地址还应符合 RFC 822 addr-spec 生产规范。

password

string

必需。用户提供的用于登录账号的密码。

pendingIdToken
(deprecated)

string

captchaChallenge
(deprecated)

string

captchaResponse

string

reCAPTCHA 客户端集成提供的 reCAPTCHA 令牌。reCAPTCHA Enterprise 会使用该令牌进行风险评估。启用 reCAPTCHA Enterprise 时必填。

instanceId
(deprecated)

string

delegatedProjectNumber
(deprecated)

string (int64 format)

idToken
(deprecated)

string

returnSecureToken

boolean

应始终为 true。

tenantId

string

用户登录的 Identity Platform 租户的 ID。如果未设置,用户将登录项目中的默认 Identity Platform 实例。

clientType

enum (ClientType)

客户端类型,即 web、android 或 ios。启用 reCAPTCHA Enterprise 时必填。

recaptchaVersion

enum (RecaptchaVersion)

captchaResponse 中 reCAPTCHA 令牌的 reCAPTCHA 版本。

响应正文

accounts.signInWithPassword 的响应消息。

如果成功,响应正文将包含结构如下的数据:

JSON 表示法
{
  "kind": string,
  "localId": string,
  "email": string,
  "displayName": string,
  "idToken": string,
  "registered": boolean,
  "profilePicture": string,
  "oauthAccessToken": string,
  "oauthExpireIn": integer,
  "oauthAuthorizationCode": string,
  "refreshToken": string,
  "expiresIn": string,
  "mfaPendingCredential": string,
  "mfaInfo": [
    {
      object (MfaEnrollment)
    }
  ],
  "userNotifications": [
    {
      object (UserNotification)
    }
  ]
}
字段
kind
(deprecated)

string

localId

string

经过身份验证的用户的 ID。始终存在于响应中。

email

string

经过身份验证的用户的电子邮件地址。始终存在于响应中。

displayName

string

存储在账号属性中的用户显示名称。

idToken

string

经过身份验证的用户的 Identity Platform ID 令牌。

registered
(deprecated)

boolean

是否是现有账号的电子邮件。始终为 true。

profilePicture

string

存储在账号属性中的用户个人资料照片。

oauthAccessToken
(deprecated)

string

OAuth2 访问令牌。

oauthExpireIn
(deprecated)

integer

访问令牌的过期时间(以秒为单位)。

oauthAuthorizationCode
(deprecated)

string

refreshToken

string

经过身份验证的用户的 Identity Platform 刷新令牌。

expiresIn

string (int64 format)

Identity Platform ID 令牌到期前的秒数。

mfaPendingCredential

string

不透明字符串,用于证明用户已成功通过第一重身份验证。

mfaInfo[]

object (MfaEnrollment)

有关为账号启用了哪些多重身份验证提供方的相关信息。如果用户需要使用多重身份验证完成登录,则显示此按钮。

userNotifications[]

object (UserNotification)

面向用户的警告通知。

授权范围

需要以下 OAuth 范围之一:

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

如需了解详情,请参阅 Authentication Overview

UserNotification

面向用户的警告通知。

JSON 表示法
{
  "notificationCode": enum (NotificationCode),
  "notificationMessage": string
}
字段
notificationCode

enum (NotificationCode)

警告通知枚举。可用于本地化。

notificationMessage

string

警告通知字符串。可用作后备。

NotificationCode

警告通知枚举。可用于本地化。

枚举
NOTIFICATION_CODE_UNSPECIFIED 未指定通知。
MISSING_LOWERCASE_CHARACTER 密码缺少小写字符。
MISSING_UPPERCASE_CHARACTER 密码缺少大写字符。
MISSING_NUMERIC_CHARACTER 密码缺少数字字符。
MISSING_NON_ALPHANUMERIC_CHARACTER 密码缺少非字母数字字符。
MINIMUM_PASSWORD_LENGTH 密码长度短于最小要求。
MAXIMUM_PASSWORD_LENGTH 密码长度超出要求的长度上限。