让用户使用电子邮件地址和密码登录。如果登录成功,系统会为经过身份验证的用户颁发新的 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 ( |
字段 | |
---|---|
email |
必需。用户用于登录的电子邮件地址。电子邮件的长度应少于 256 个字符,且采用 |
password |
必需。用户提供的用于登录账号的密码。 |
pendingIdToken |
|
captchaChallenge |
|
captchaResponse |
reCAPTCHA 客户端集成提供的 reCAPTCHA 令牌。reCAPTCHA Enterprise 会使用该令牌进行风险评估。启用 reCAPTCHA Enterprise 时必填。 |
instanceId |
|
delegatedProjectNumber |
|
idToken |
|
returnSecureToken |
应始终为 true。 |
tenantId |
用户登录的 Identity Platform 租户的 ID。如果未设置,用户将登录项目中的默认 Identity Platform 实例。 |
clientType |
客户端类型,即 web、android 或 ios。启用 reCAPTCHA Enterprise 时必填。 |
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 ( |
字段 | |
---|---|
kind |
|
localId |
经过身份验证的用户的 ID。始终存在于响应中。 |
email |
经过身份验证的用户的电子邮件地址。始终存在于响应中。 |
displayName |
存储在账号属性中的用户显示名称。 |
idToken |
经过身份验证的用户的 Identity Platform ID 令牌。 |
registered |
是否是现有账号的电子邮件。始终为 true。 |
profilePicture |
存储在账号属性中的用户个人资料照片。 |
oauthAccessToken |
OAuth2 访问令牌。 |
oauthExpireIn |
访问令牌的过期时间(以秒为单位)。 |
oauthAuthorizationCode |
|
refreshToken |
经过身份验证的用户的 Identity Platform 刷新令牌。 |
expiresIn |
Identity Platform ID 令牌到期前的秒数。 |
mfaPendingCredential |
不透明字符串,用于证明用户已成功通过第一重身份验证。 |
mfaInfo[] |
有关为账号启用了哪些多重身份验证提供方的相关信息。如果用户需要使用多重身份验证完成登录,则显示此按钮。 |
userNotifications[] |
面向用户的警告通知。 |
授权范围
需要以下 OAuth 范围之一:
https://www.googleapis.com/auth/identitytoolkit
https://www.googleapis.com/auth/cloud-platform
如需了解详情,请参阅 Authentication Overview。
UserNotification
面向用户的警告通知。
JSON 表示法 |
---|
{
"notificationCode": enum ( |
字段 | |
---|---|
notificationCode |
警告通知枚举。可用于本地化。 |
notificationMessage |
警告通知字符串。可用作后备。 |
NotificationCode
警告通知枚举。可用于本地化。
枚举 | |
---|---|
NOTIFICATION_CODE_UNSPECIFIED |
未指定通知。 |
MISSING_LOWERCASE_CHARACTER |
密码缺少小写字符。 |
MISSING_UPPERCASE_CHARACTER |
密码缺少大写字符。 |
MISSING_NUMERIC_CHARACTER |
密码缺少数字字符。 |
MISSING_NON_ALPHANUMERIC_CHARACTER |
密码缺少非字母数字字符。 |
MINIMUM_PASSWORD_LENGTH |
密码长度短于最小要求。 |
MAXIMUM_PASSWORD_LENGTH |
密码长度超出要求的长度上限。 |