使用电子邮件链接中的非现场验证码让用户登录或注册。如果不存在使用指定电子邮件地址的用户,系统会创建用户记录。如果登录成功,系统会为经过身份验证的用户颁发 Identity Platform ID 和刷新令牌。
请求中必须包含 API 密钥,以便识别 Google Cloud 项目。
HTTP 请求
POST https://identitytoolkit.googleapis.com/v1/accounts:signInWithEmailLink
网址采用 gRPC 转码语法。
请求正文
请求正文中包含结构如下的数据:
JSON 表示法 |
---|
{ "oobCode": string, "email": string, "idToken": string, "tenantId": string } |
字段 | |
---|---|
oobCode |
必需。电子邮件链接中的非对称代码。 |
email |
必需。登录链接发送到的电子邮件地址。电子邮件的长度应少于 256 个字符,且采用 |
idToken |
Identity Platform 账号的有效 ID 令牌。如果通过,此请求将将电子邮件地址与此 ID 令牌所代表的用户相关联,并在日后为该账号启用通过电子邮件链接登录的功能。 |
tenantId |
用户登录的 Identity Platform 租户的 ID。如果未设置,用户将登录默认的 Identity Platform 项目。 |
响应正文
accounts.signInWithEmailLink 的响应消息。
如果成功,响应正文将包含结构如下的数据:
JSON 表示法 |
---|
{
"kind": string,
"idToken": string,
"email": string,
"refreshToken": string,
"expiresIn": string,
"localId": string,
"isNewUser": boolean,
"mfaPendingCredential": string,
"mfaInfo": [
{
object ( |
字段 | |
---|---|
kind |
|
idToken |
经过身份验证的用户的 Identity Platform ID 令牌。 |
email |
用户登录时使用的电子邮件地址。始终存在于响应中。 |
refreshToken |
经过身份验证的用户的刷新令牌。 |
expiresIn |
ID 令牌到期前的秒数。 |
localId |
经过身份验证的用户的 ID。始终存在于响应中。 |
isNewUser |
经过身份验证的用户是否由此请求创建。 |
mfaPendingCredential |
不透明字符串,用于证明用户已成功通过第一重身份验证。 |
mfaInfo[] |
已启用的多重身份验证提供程序的相关信息。如果用户需要使用多重身份验证完成登录,则显示此按钮。 |
授权范围
需要以下 OAuth 范围之一:
https://www.googleapis.com/auth/identitytoolkit
https://www.googleapis.com/auth/cloud-platform
如需了解详情,请参阅 Authentication Overview。