API使用
您可以通过 REST API 查询 Firebase Auth 后端。这可用于各种操作,例如创建新用户、登录现有用户以及编辑或删除这些用户。
在本文档中, API_KEY
指的是 Web API 密钥,可以在管理控制台的项目设置页面上获取。
将自定义令牌交换为 ID 和刷新令牌
您可以通过向 Auth verifyCustomToken
端点发出 HTTP POST
请求,将自定义身份验证令牌交换为 ID 和刷新令牌。
方法:邮寄
内容类型: application/json
端点https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]请求正文有效负载
物业名称 | 类型 | 描述 |
---|---|---|
代币 | 细绳 | Firebase Auth 自定义令牌,用于创建 ID 和刷新令牌对。 |
返回安全令牌 | 布尔值 | 是否返回 ID 和刷新令牌。应该永远是真的。 |
物业名称 | 类型 | 描述 |
---|---|---|
id令牌 | 细绳 | 从提供的自定义令牌生成的 Firebase 身份验证 ID 令牌。 |
刷新令牌 | 细绳 | 从提供的自定义令牌生成的 Firebase 身份验证刷新令牌。 |
过期日期在 | 细绳 | ID 令牌过期的秒数。 |
样品请求
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"token":"[CUSTOM_TOKEN]","returnSecureToken":true}'
成功的请求由200 OK
HTTP 状态代码指示。响应包含与自定义令牌关联的 Firebase ID 令牌和刷新令牌。
响应示例
{ "idToken": "[ID_TOKEN]", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600" }
常见错误代码
- INVALID_CUSTOM_TOKEN:自定义令牌格式不正确或令牌由于某种原因无效(例如过期、签名无效等)
- CREDENTIAL_MISMATCH:自定义令牌对应于不同的 Firebase 项目。
将刷新令牌交换为 ID 令牌
您可以通过向securetoken.googleapis.com
端点发出 HTTP POST
请求来刷新 Firebase ID 令牌。
方法:邮寄
内容类型: application/x-www-form-urlencoded
端点https://securetoken.googleapis.com/v1/token?key=[API_KEY]请求正文有效负载
物业名称 | 类型 | 描述 |
---|---|---|
授予类型 | 细绳 | 刷新令牌的授予类型始终为“refresh_token”。 |
刷新令牌 | 细绳 | Firebase 身份验证刷新令牌。 |
物业名称 | 类型 | 描述 |
---|---|---|
过期日期在 | 细绳 | ID 令牌过期的秒数。 |
令牌类型 | 细绳 | 刷新令牌的类型,始终为“Bearer”。 |
刷新令牌 | 细绳 | 请求中提供的 Firebase Auth 刷新令牌或新的刷新令牌。 |
id_token | 细绳 | Firebase 身份验证 ID 令牌。 |
用户身份 | 细绳 | 与提供的 ID 令牌对应的 uid。 |
项目ID | 细绳 | 您的 Firebase 项目 ID。 |
样品请求
curl 'https://securetoken.googleapis.com/v1/token?key=[API_KEY]' \ -H 'Content-Type: application/x-www-form-urlencoded' \ --data 'grant_type=refresh_token&refresh_token=[REFRESH_TOKEN]'
成功的请求由200 OK
HTTP 状态代码指示。响应包含新的 Firebase ID 令牌和刷新令牌。
响应示例
{ "expires_in": "3600", "token_type": "Bearer", "refresh_token": "[REFRESH_TOKEN]", "id_token": "[ID_TOKEN]", "user_id": "tRcfmLH7o2XrNELi...", "project_id": "1234567890" }
常见错误代码
- TOKEN_EXPIRED:用户的凭据不再有效。用户必须重新登录。
- USER_DISABLED:用户帐户已被管理员禁用。
- USER_NOT_FOUND:未找到刷新令牌对应的用户。该用户很可能已被删除。
- API 密钥无效。请传递有效的 API 密钥。 (提供的 API 密钥无效)
- INVALID_REFRESH_TOKEN:提供了无效的刷新令牌。
- 收到无效的 JSON 负载。未知名称“refresh_tokens”:无法绑定查询参数。在请求消息中找不到字段“refresh_tokens”。
- INVALID_GRANT_TYPE:指定的授权类型无效。
- MISSING_REFRESH_TOKEN:未提供刷新令牌。
- PROJECT_NUMBER_MISMATCH:刷新令牌的项目编号与提供的 API 密钥不匹配。
使用电子邮件/密码注册
您可以通过向 Auth signupNewUser
端点发出 HTTP POST
请求来创建新的电子邮件和密码用户。
方法:邮寄
内容类型: application/json
端点https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]请求正文有效负载
物业名称 | 类型 | 描述 |
---|---|---|
电子邮件 | 细绳 | 供用户创建的电子邮件。 |
密码 | 细绳 | 供用户创建的密码。 |
返回安全令牌 | 布尔值 | 是否返回 ID 和刷新令牌。应该永远是真的。 |
物业名称 | 类型 | 描述 |
---|---|---|
id令牌 | 细绳 | 新创建用户的 Firebase 身份验证 ID 令牌。 |
电子邮件 | 细绳 | 新创建用户的电子邮件。 |
刷新令牌 | 细绳 | 新创建用户的 Firebase 身份验证刷新令牌。 |
过期日期在 | 细绳 | ID 令牌过期的秒数。 |
本地ID | 细绳 | 新创建用户的uid。 |
样品请求
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"email":"[user@example.com]","password":"[PASSWORD]","returnSecureToken":true}'
成功的请求由200 OK
HTTP 状态代码指示。响应包含与新帐户关联的 Firebase ID 令牌和刷新令牌。
响应示例
{ "idToken": "[ID_TOKEN]", "email": "[user@example.com]", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "localId": "tRcfmLH7..." }
常见错误代码
- EMAIL_EXISTS:该电子邮件地址已被其他帐户使用。
- OPERATION_NOT_ALLOWED:此项目禁用密码登录。
- TOO_MANY_ATTEMPTS_TRY_LATER:由于异常活动,我们已阻止来自此设备的所有请求。稍后再试。
使用电子邮件/密码登录
您可以通过向 Auth verifyPassword
端点发出 HTTP POST
请求,使用电子邮件和密码登录用户。
方法:邮寄
内容类型: application/json
端点https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]请求正文有效负载
物业名称 | 类型 | 描述 |
---|---|---|
电子邮件 | 细绳 | 用户登录时使用的电子邮件。 |
密码 | 细绳 | 帐户的密码。 |
返回安全令牌 | 布尔值 | 是否返回 ID 和刷新令牌。应该永远是真的。 |
物业名称 | 类型 | 描述 |
---|---|---|
id令牌 | 细绳 | 经过身份验证的用户的 Firebase 身份验证 ID 令牌。 |
电子邮件 | 细绳 | 经过身份验证的用户的电子邮件。 |
刷新令牌 | 细绳 | 经过身份验证的用户的 Firebase 身份验证刷新令牌。 |
过期日期在 | 细绳 | ID 令牌过期的秒数。 |
本地ID | 细绳 | 经过身份验证的用户的 uid。 |
挂号的 | 布尔值 | 该电子邮件是否适用于现有帐户。 |
样品请求
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"email":"[user@example.com]","password":"[PASSWORD]","returnSecureToken":true}'
成功的请求由200 OK
HTTP 状态代码指示。响应包含与现有电子邮件/密码帐户关联的 Firebase ID 令牌和刷新令牌。
响应示例
{ "localId": "ZY1rJK0eYLg...", "email": "[user@example.com]", "displayName": "", "idToken": "[ID_TOKEN]", "registered": true, "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600" }
常见错误代码
- EMAIL_NOT_FOUND:没有与该标识符对应的用户记录。该用户可能已被删除。
- INVALID_PASSWORD:密码无效或用户没有密码。
- USER_DISABLED:用户帐户已被管理员禁用。
匿名登录
您可以通过向 Auth signupNewUser
端点发出 HTTP POST
请求来匿名登录用户。
方法:邮寄
内容类型: application/json
端点https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]请求正文有效负载
物业名称 | 类型 | 描述 |
---|---|---|
返回安全令牌 | 布尔值 | 是否返回 ID 和刷新令牌。应该永远是真的。 |
物业名称 | 类型 | 描述 |
---|---|---|
id令牌 | 细绳 | 新创建用户的 Firebase 身份验证 ID 令牌。 |
电子邮件 | 细绳 | 由于用户是匿名的,因此该字段应该为空。 |
刷新令牌 | 细绳 | 新创建用户的 Firebase 身份验证刷新令牌。 |
过期日期在 | 细绳 | ID 令牌过期的秒数。 |
本地ID | 细绳 | 新创建用户的uid。 |
样品请求
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"returnSecureToken":true}'
成功的请求由200 OK
HTTP 状态代码指示。响应包含与匿名用户关联的 Firebase ID 令牌和刷新令牌。
响应示例
{ "idToken": "[ID_TOKEN]", "email": "", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "localId": "Jws4SVjpT..." }
常见错误代码
- OPERATION_NOT_ALLOWED:此项目禁用匿名用户登录。
使用 OAuth 凭据登录
您可以通过向 Auth verifyAssertion
端点发出 HTTP POST
请求,使用 OAuth 凭证登录用户。
方法:邮寄
内容类型: application/json
端点https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]请求正文有效负载
物业名称 | 类型 | 描述 |
---|---|---|
请求Uri | 细绳 | IDP 将用户重定向回的 URI。 |
帖子正文 | 细绳 | 包含 OAuth 凭据(ID 令牌或访问令牌)和颁发该凭据的提供商 ID。 |
返回安全令牌 | 布尔值 | 是否返回 ID 和刷新令牌。应该永远是真的。 |
返回Idp凭据 | 布尔值 | 是否在出现以下错误时强制返回 OAuth 凭据:FEDERATED_USER_ID_ALREADY_LINKED 和 EMAIL_EXISTS。 |
物业名称 | 类型 | 描述 |
---|---|---|
联邦ID | 细绳 | 唯一 ID 标识 IdP 帐户。 |
提供者ID | 细绳 | 链接的提供商 ID(例如,Google 提供商为“google.com”)。 |
本地ID | 细绳 | 经过身份验证的用户的 uid。 |
电子邮件已验证 | 布尔值 | 登录邮箱是否经过验证。 |
电子邮件 | 细绳 | 帐户的电子邮件。 |
oauthIdToken | 细绳 | OIDC ID 令牌(如果可用)。 |
oauthAccessToken | 细绳 | OAuth 访问令牌(如果可用)。 |
oauthTokenSecret | 细绳 | OAuth 1.0 令牌密钥(如果可用)。 |
原始用户信息 | 细绳 | 字符串化 JSON 响应,包含与所提供的 OAuth 凭据对应的所有 IdP 数据。 |
名 | 细绳 | 帐户的名字。 |
姓 | 细绳 | 帐户的姓氏。 |
全名 | 细绳 | 帐户的全名。 |
显示名称 | 细绳 | 帐户的显示名称。 |
照片网址 | 细绳 | 帐户的照片 URL。 |
id令牌 | 细绳 | 经过身份验证的用户的 Firebase 身份验证 ID 令牌。 |
刷新令牌 | 细绳 | 经过身份验证的用户的 Firebase 身份验证刷新令牌。 |
过期日期在 | 细绳 | ID 令牌过期的秒数。 |
需要确认 | 布尔值 | 具有相同凭据的另一个帐户是否已存在。用户需要登录原始帐户,然后将当前凭据链接到该帐户。 |
带有 OAuth ID 令牌的示例请求
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"id_token=[GOOGLE_ID_TOKEN]&providerId=[google.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
成功的请求由200 OK
HTTP 状态代码指示。响应包含与经过身份验证的用户关联的 Firebase ID 令牌和刷新令牌。
带有 OAuth ID 令牌的示例响应
{ "federatedId": "https://accounts.google.com/1234567890", "providerId": "google.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthIdToken": "[GOOGLE_ID_TOKEN]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
带有 OAuth 访问令牌的示例请求
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"access_token=[FACEBOOK_ACCESS_TOKEN]&providerId=[facebook.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
成功的请求由200 OK
HTTP 状态代码指示。响应包含与经过身份验证的用户关联的 Firebase ID 令牌和刷新令牌。
带有 OAuth 访问令牌的示例响应
{ "federatedId": "http://facebook.com/1234567890", "providerId": "facebook.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthAccessToken": "[FACEBOOK_ACCESS_TOKEN]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "https://scontent.xx.fbcdn.net/v/...", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
使用 Twitter OAuth 1.0 凭证的示例请求
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"access_token=[TWITTER_ACCESS_TOKEN]&oauth_token_secret=[TWITTER_TOKEN_SECRET]&providerId=[twitter.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
成功的请求由200 OK
HTTP 状态代码指示。响应包含与经过身份验证的用户关联的 Firebase ID 令牌和刷新令牌。
使用 Twitter OAuth 1.0 凭证的示例响应
{ "federatedId": "http://twitter.com/1234567890", "providerId": "twitter.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthAccessToken": "[OAUTH_ACCESS_TOKEN]", "oauthTokenSecret": "[OAUTH_TOKEN_SECRET]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "http://abs.twimg.com/sticky/...", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
常见错误代码
- OPERATION_NOT_ALLOWED:此项目禁用相应的提供程序。
- INVALID_IDP_RESPONSE:提供的身份验证凭据格式错误或已过期。
获取提供商的电子邮件
您可以通过向 Auth createAuthUri
端点发出 HTTP POST
请求来查看与指定电子邮件关联的所有提供程序。
方法:邮寄
内容类型: application/json
端点https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]请求正文有效负载
物业名称 | 类型 | 描述 |
---|---|---|
标识符 | 细绳 | 用户的电子邮件地址 |
继续Uri | 细绳 | IDP 将用户重定向回的 URI。对于此用例,这只是当前 URL。 |
物业名称 | 类型 | 描述 |
---|---|---|
所有提供商 | 字符串列表 | 用户之前登录过的提供商列表。 |
挂号的 | 布尔值 | 该电子邮件是否适用于现有帐户 |
样品请求
curl 'https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"identifier":"[user@example.com]","continueUri":"[http://localhost:8080/app]"}'
成功的请求由200 OK
HTTP 状态代码指示。响应包含与电子邮件关联的提供商列表。
响应示例
{ "allProviders": [ "password", "google.com" ], "registered": true }
常见错误代码
- INVALID_EMAIL:电子邮件地址格式错误。
发送密码重置电子邮件
您可以通过向 Auth getOobConfirmationCode
端点发出 HTTP POST
请求来发送密码重置电子邮件。
方法:邮寄
内容类型: application/json
端点https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]可选标头
物业名称 | 描述 |
---|---|
X-Firebase-区域设置 | 与用户区域设置对应的语言代码。传递此参数将本地化发送给用户的密码重置电子邮件。 |
物业名称 | 类型 | 描述 |
---|---|---|
请求类型 | 细绳 | 要返回的 OOB 代码类型。密码重置应为“PASSWORD_RESET”。 |
电子邮件 | 细绳 | 用户的电子邮件地址。 |
物业名称 | 类型 | 描述 |
---|---|---|
电子邮件 | 细绳 | 用户的电子邮件地址。 |
样品请求
curl 'https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"requestType":"PASSWORD_RESET","email":"[user@example.com]"}'
成功的请求由200 OK
HTTP 状态代码指示。
响应示例
{ "email": "[user@example.com]" }
常见错误代码
- EMAIL_NOT_FOUND:没有与该标识符对应的用户记录。该用户可能已被删除。
验证密码重置代码
您可以通过向 Auth resetPassword
端点发出 HTTP POST
请求来验证密码重置代码。
方法:邮寄
内容类型: application/json
端点https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]请求正文有效负载
物业名称 | 类型 | 描述 |
---|---|---|
出库代码 | 细绳 | 发送到用户电子邮件以重置密码的电子邮件操作代码。 |
物业名称 | 类型 | 描述 |
---|---|---|
电子邮件 | 细绳 | 用户的电子邮件地址。 |
请求类型 | 细绳 | 电子邮件操作代码的类型。应为“PASSWORD_RESET”。 |
样品请求
curl 'https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"oobCode":"[PASSWORD_RESET_CODE]"}'
成功的请求由200 OK
HTTP 状态代码指示。
响应示例
{ "email": "[user@example.com]", "requestType": "PASSWORD_RESET" }
常见错误代码
- OPERATION_NOT_ALLOWED:此项目禁用密码登录。
- EXPIRED_OOB_CODE:操作代码已过期。
- INVALID_OOB_CODE:操作代码无效。如果代码格式错误、过期或已被使用,则可能会发生这种情况。
确认密码重置
您可以通过向 Auth resetPassword
端点发出 HTTP POST
请求来应用密码重置更改。
方法:邮寄
内容类型: application/json
端点https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]请求正文有效负载
物业名称 | 类型 | 描述 |
---|---|---|
出库代码 | 细绳 | 发送到用户电子邮件以重置密码的电子邮件操作代码。 |
新密码 | 细绳 | 用户的新密码。 |
物业名称 | 类型 | 描述 |
---|---|---|
电子邮件 | 细绳 | 用户的电子邮件地址。 |
请求类型 | 细绳 | 电子邮件操作代码的类型。应为“PASSWORD_RESET”。 |
样品请求
curl 'https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"oobCode":"[PASSWORD_RESET_CODE]","newPassword":"[NEW_PASSWORD]"}'
成功的请求由200 OK
HTTP 状态代码指示。
响应示例
{ "email": "[user@example.com]", "requestType": "PASSWORD_RESET" }
常见错误代码
- OPERATION_NOT_ALLOWED:此项目禁用密码登录。
- EXPIRED_OOB_CODE:操作代码已过期。
- INVALID_OOB_CODE:操作代码无效。如果代码格式错误、过期或已被使用,则可能会发生这种情况。
- USER_DISABLED:用户帐户已被管理员禁用。
更改电子邮件
您可以通过向 Auth setAccountInfo
端点发出 HTTP POST
请求来更改用户的电子邮件。
方法:邮寄
内容类型: application/json
端点https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]可选标头
物业名称 | 描述 |
---|---|
X-Firebase-区域设置 | 与用户区域设置对应的语言代码。传递此参数将本地化发送给用户的电子邮件更改撤销。 |
物业名称 | 类型 | 描述 |
---|---|---|
id令牌 | 细绳 | 用户的 Firebase 身份验证 ID 令牌。 |
电子邮件 | 细绳 | 用户的新电子邮件。 |
返回安全令牌 | 布尔值 | 是否返回 ID 和刷新令牌。 |
物业名称 | 类型 | 描述 |
---|---|---|
本地ID | 细绳 | 当前用户的uid。 |
电子邮件 | 细绳 | 用户的电子邮件地址。 |
密码哈希值 | 细绳 | 密码的哈希版本。 |
提供者用户信息 | JSON 对象列表 | 包含“providerId”和“federatedId”的所有链接提供程序对象的列表。 |
id令牌 | 细绳 | 用户的新 Firebase 身份验证 ID 令牌。 |
刷新令牌 | 细绳 | Firebase 身份验证刷新令牌。 |
过期日期在 | 细绳 | ID 令牌过期的秒数。 |
样品请求
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[FIREBASE_ID_TOKEN]","email":"[user@example2.com]","returnSecureToken":true}'
成功的请求由200 OK
HTTP 状态代码指示。响应包含与用户关联的新 Firebase ID 令牌和刷新令牌。
响应示例
{ "localId": "tRcfmLH7o2...", "email": "[user@example2.com]", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "[user@example2.com]" } ], "idToken": "[NEW_ID_TOKEN]", "refreshToken": "[NEW_REFRESH_TOKEN]", "expiresIn": "3600" }
常见错误代码
- EMAIL_EXISTS:该电子邮件地址已被其他帐户使用。
- INVALID_ID_TOKEN:用户的凭据不再有效。用户必须重新登录。
更改密码
您可以通过向 Auth setAccountInfo
端点发出 HTTP POST
请求来更改用户的密码。
方法:邮寄
内容类型: application/json
端点https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]请求正文有效负载
物业名称 | 类型 | 描述 |
---|---|---|
id令牌 | 细绳 | 用户的 Firebase 身份验证 ID 令牌。 |
密码 | 细绳 | 用户的新密码。 |
返回安全令牌 | 布尔值 | 是否返回 ID 和刷新令牌。 |
物业名称 | 类型 | 描述 |
---|---|---|
本地ID | 细绳 | 当前用户的uid。 |
电子邮件 | 细绳 | 用户的电子邮件地址。 |
密码哈希值 | 细绳 | 密码的哈希版本。 |
提供者用户信息 | JSON 对象列表 | 包含“providerId”和“federatedId”的所有链接提供程序对象的列表。 |
id令牌 | 细绳 | 用户的新 Firebase 身份验证 ID 令牌。 |
刷新令牌 | 细绳 | Firebase 身份验证刷新令牌。 |
过期日期在 | 细绳 | ID 令牌过期的秒数。 |
样品请求
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[FIREBASE_ID_TOKEN]","password":"[NEW_PASSWORD]","returnSecureToken":true}'
成功的请求由200 OK
HTTP 状态代码指示。响应包含与用户关联的新 Firebase ID 令牌和刷新令牌。
响应示例
{ "localId": "tRcfmLH7o2...", "email": "[user@example.com]", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "[user@example.com]" } ], "idToken": "[NEW_ID_TOKEN]", "refreshToken": "[NEW_REFRESH_TOKEN]", "expiresIn": "3600" }
常见错误代码
- INVALID_ID_TOKEN:用户的凭据不再有效。用户必须重新登录。
- WEAK_PASSWORD:密码长度必须为 6 个字符或更多。
更新个人信息
您可以通过向 Auth setAccountInfo
端点发出 HTTP POST
请求来更新用户的个人资料(显示名称/照片 URL)。
方法:邮寄
内容类型: application/json
端点https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]请求正文有效负载
物业名称 | 类型 | 描述 |
---|---|---|
id令牌 | 细绳 | 用户的 Firebase 身份验证 ID 令牌。 |
显示名称 | 细绳 | 用户的新显示名称。 |
照片网址 | 细绳 | 用户的新照片网址。 |
删除属性 | 字符串列表 | 要删除的属性列表“DISPLAY_NAME”或“PHOTO_URL”。这将使这些值无效。 |
返回安全令牌 | 布尔值 | 是否返回 ID 和刷新令牌。 |
物业名称 | 类型 | 描述 |
---|---|---|
本地ID | 细绳 | 当前用户的uid。 |
电子邮件 | 细绳 | 用户的电子邮件地址。 |
显示名称 | 细绳 | 用户的新显示名称。 |
照片网址 | 细绳 | 用户的新照片网址。 |
密码哈希值 | 细绳 | 密码的哈希版本。 |
提供者用户信息 | JSON 对象列表 | 包含“providerId”和“federatedId”的所有链接提供程序对象的列表。 |
id令牌 | 细绳 | 用户的新 Firebase 身份验证 ID 令牌。 |
刷新令牌 | 细绳 | Firebase 身份验证刷新令牌。 |
过期日期在 | 细绳 | ID 令牌过期的秒数。 |
样品请求
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[ID_TOKEN]","displayName":"[NAME]","photoUrl":"[URL]","returnSecureToken":true}'
成功的请求由200 OK
HTTP 状态代码指示。
响应示例
{ "localId": "tRcfmLH...", "email": "user@example2.com", "displayName": "John Doe", "photoUrl": "[http://localhost:8080/img1234567890/photo.png]", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "user@example2.com", "displayName": "John Doe", "photoUrl": "http://localhost:8080/img1234567890/photo.png" } ], "idToken": "[NEW_ID_TOKEN]", "refreshToken": "[NEW_REFRESH_TOKEN]", "expiresIn": "3600" }
常见错误代码
- INVALID_ID_TOKEN:用户的凭据不再有效。用户必须重新登录。
获取用户数据
您可以通过向 Auth getAccountInfo
端点发出 HTTP POST
请求来获取用户数据。
方法:邮寄
内容类型: application/json
端点https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]请求正文有效负载
物业名称 | 类型 | 描述 |
---|---|---|
id令牌 | 细绳 | 帐户的 Firebase ID 令牌。 |
物业名称 | 类型 | 描述 |
---|---|---|
用户 | JSON 对象列表 | 与给定 Firebase ID 令牌关联的帐户。请检查以下内容以了解更多详细信息。 |
users
数组内容)物业名称 | 类型 | 描述 |
---|---|---|
本地ID | 细绳 | 当前用户的uid。 |
电子邮件 | 细绳 | 帐户的电子邮件。 |
电子邮件已验证 | 布尔值 | 帐户的电子邮件是否已验证。 |
显示名称 | 细绳 | 帐户的显示名称。 |
提供者用户信息 | JSON 对象列表 | 包含“providerId”和“federatedId”的所有链接提供程序对象的列表。 |
照片网址 | 细绳 | 帐户的照片 URL。 |
密码哈希值 | 细绳 | 密码的哈希版本。 |
密码更新时间 | 双倍的 | 上次更改帐户密码的时间戳(以毫秒为单位)。 |
有效期自 | 细绳 | 时间戳(以秒为单位),标记边界,在此之前 Firebase ID 令牌被视为已撤销。 |
残疾人 | 布尔值 | 帐户是否被禁用。 |
上次登录时间 | 细绳 | 帐户上次登录的时间戳(以毫秒为单位)。 |
创建于 | 细绳 | 创建帐户的时间戳(以毫秒为单位)。 |
自定义验证 | 布尔值 | 帐号是否经过开发者认证。 |
样品请求
curl 'https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"idToken":"[FIREBASE_ID_TOKEN]"}'
成功的请求由200 OK
HTTP 状态代码指示。响应将包含与该帐户关联的所有用户信息。
响应示例
{ "users": [ { "localId": "ZY1rJK0...", "email": "user@example.com", "emailVerified": false, "displayName": "John Doe", "providerUserInfo": [ { "providerId": "password", "displayName": "John Doe", "photoUrl": "http://localhost:8080/img1234567890/photo.png", "federatedId": "user@example.com", "email": "user@example.com", "rawId": "user@example.com", "screenName": "user@example.com" } ], "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "passwordHash": "...", "passwordUpdatedAt": 1.484124177E12, "validSince": "1484124177", "disabled": false, "lastLoginAt": "1484628946000", "createdAt": "1484124142000", "customAuth": false } ] }
常见错误代码
- INVALID_ID_TOKEN:用户的凭据不再有效。用户必须重新登录。
- USER_NOT_FOUND:没有与该标识符对应的用户记录。该用户可能已被删除。
带有电子邮件/密码的链接
您可以通过向 Auth setAccountInfo
端点发出 HTTP POST
请求,将电子邮件/密码链接到当前用户。
方法:邮寄
内容类型: application/json
端点https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]请求正文有效负载
物业名称 | 类型 | 描述 |
---|---|---|
id令牌 | 细绳 | 您尝试将凭证链接到的帐户的 Firebase ID 令牌。 |
电子邮件 | 细绳 | 链接到帐户的电子邮件。 |
密码 | 细绳 | 帐户的新密码。 |
返回安全令牌 | 细绳 | 是否返回 ID 和刷新令牌。应该永远是真的。 |
物业名称 | 类型 | 描述 |
---|---|---|
本地ID | 细绳 | 当前用户的uid。 |
电子邮件 | 细绳 | 帐户的电子邮件。 |
显示名称 | 细绳 | 帐户的显示名称。 |
照片网址 | 细绳 | 帐户的照片 URL。 |
密码哈希值 | 细绳 | 密码的哈希版本。 |
提供者用户信息 | JSON 对象列表 | 包含“providerId”和“federatedId”的所有链接提供程序对象的列表。 |
电子邮件已验证 | 布尔值 | 帐户的电子邮件是否已验证。 |
id令牌 | 细绳 | 用户的新 Firebase 身份验证 ID 令牌。 |
刷新令牌 | 细绳 | Firebase 身份验证刷新令牌。 |
过期日期在 | 细绳 | ID 令牌过期的秒数。 |
样品请求
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[ID_TOKEN]","email":"[user@example.com]","password":"[PASS]","returnSecureToken":true}'
成功的请求由200 OK
HTTP 状态代码指示。响应包含与经过身份验证的用户关联的 Firebase ID 令牌和刷新令牌。
响应示例
{ "localId": "huDwUz...", "email": "user@example.com", "displayName": "John Doe", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "user@example.com" } ], "idToken": "[ID_TOKEN]", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "emailVerified": false }
常见错误代码
- CREDENTIAL_TOO_OLD_LOGIN_AGAIN:用户的凭据不再有效。用户必须重新登录。
- TOKEN_EXPIRED:用户的凭据不再有效。用户必须重新登录。
- INVALID_ID_TOKEN:用户的凭据不再有效。用户必须重新登录。
- WEAK_PASSWORD:密码长度必须为 6 个字符或更多。
与 OAuth 凭证的链接
您可以通过向 Auth verifyAssertion
端点发出 HTTP POST
请求,将 OAuth 凭证链接到用户。
方法:邮寄
内容类型: application/json
端点https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]请求正文有效负载
物业名称 | 类型 | 描述 |
---|---|---|
id令牌 | 细绳 | 您尝试将凭证链接到的帐户的 Firebase ID 令牌。 |
请求Uri | 细绳 | IDP 将用户重定向回的 URI。 |
帖子正文 | 细绳 | 包含 OAuth 凭据(ID 令牌或访问令牌)和颁发该凭据的提供商 ID。 |
返回安全令牌 | 布尔值 | 是否返回 ID 和刷新令牌。应该永远是真的。 |
返回Idp凭据 | 布尔值 | 是否在出现以下错误时强制返回 OAuth 凭据:FEDERATED_USER_ID_ALREADY_LINKED 和 EMAIL_EXISTS。 |
物业名称 | 类型 | 描述 |
---|---|---|
联邦ID | 细绳 | 唯一 ID 标识 IdP 帐户。 |
提供者ID | 细绳 | 链接的提供商 ID(例如,Google 提供商为“google.com”)。 |
本地ID | 细绳 | 经过身份验证的用户的 uid。 |
电子邮件已验证 | 布尔值 | 登录邮箱是否经过验证。 |
电子邮件 | 细绳 | 帐户的电子邮件。 |
oauthIdToken | 细绳 | OIDC ID 令牌(如果可用)。 |
oauthAccessToken | 细绳 | OAuth 访问令牌(如果可用)。 |
oauthTokenSecret | 细绳 | OAuth 1.0 令牌密钥(如果可用)。 |
原始用户信息 | 细绳 | 字符串化 JSON 响应,包含与所提供的 OAuth 凭据对应的所有 IdP 数据。 |
名 | 细绳 | 帐户的名字。 |
姓 | 细绳 | 帐户的姓氏。 |
全名 | 细绳 | 帐户的全名。 |
显示名称 | 细绳 | 帐户的显示名称。 |
照片网址 | 细绳 | 帐户的照片 URL。 |
id令牌 | 细绳 | 经过身份验证的用户的 Firebase 身份验证 ID 令牌。 |
刷新令牌 | 细绳 | 经过身份验证的用户的 Firebase 身份验证刷新令牌。 |
过期日期在 | 细绳 | ID 令牌过期的秒数。 |
带有 OAuth ID 令牌的示例请求
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"id_token=[GOOGLE_ID_TOKEN]&providerId=[google.com]","requestUri":"[http://localhost]","idToken":"[FIREBASE_ID_TOKEN]","returnIdpCredential":true,"returnSecureToken":true}'
成功的请求由200 OK
HTTP 状态代码指示。响应包含与经过身份验证的用户关联的 Firebase ID 令牌和刷新令牌。
带有 OAuth ID 令牌的示例响应
{ "federatedId": "https://accounts.google.com/1234567890", "providerId": "google.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthIdToken": "[GOOGLE_ID_TOKEN]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
带有 OAuth 访问令牌的示例请求
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"access_token=[FACEBOOK_ACCESS_TOKEN]&providerId=[facebook.com]","idToken":"[FIREBASE_ID_TOKEN]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
成功的请求由200 OK
HTTP 状态代码指示。响应包含与经过身份验证的用户关联的 Firebase ID 令牌和刷新令牌。
带有 OAuth 访问令牌的示例响应
{ "federatedId": "http://facebook.com/1234567890", "providerId": "facebook.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthAccessToken": "[FACEBOOK_ACCESS_TOKEN]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "https://scontent.xx.fbcdn.net/v/...", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
使用 Twitter OAuth 1.0 凭证的示例请求
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"access_token=[TWITTER_ACCESS_TOKEN]&oauth_token_secret=[TWITTER_TOKEN_SECRET]&providerId=[twitter.com]","requestUri":"[http://localhost]","idToken":"[FIREBASE_ID_TOKEN]","returnIdpCredential":true,"returnSecureToken":true}'
成功的请求由200 OK
HTTP 状态代码指示。响应包含与经过身份验证的用户关联的 Firebase ID 令牌和刷新令牌。
使用 Twitter OAuth 1.0 凭证的示例响应
{ "federatedId": "http://twitter.com/1234567890", "providerId": "twitter.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthAccessToken": "[OAUTH_ACCESS_TOKEN]", "oauthTokenSecret": "[OAUTH_TOKEN_SECRET]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "http://abs.twimg.com/sticky/...", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
常见错误代码
- OPERATION_NOT_ALLOWED:此项目禁用相应的提供程序。
- INVALID_IDP_RESPONSE:提供的身份验证凭据格式错误或已过期。
- INVALID_ID_TOKEN:用户的凭据不再有效。用户必须重新登录。
- EMAIL_EXISTS:该电子邮件地址已被其他帐户使用。
- FEDERATED_USER_ID_ALREADY_LINKED:此凭据已与其他用户帐户关联。
取消链接提供商
您可以通过向 Auth setAccountInfo
端点发出 HTTP POST
请求来取消提供程序与当前用户的链接。
方法:邮寄
内容类型: application/json
端点https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]请求正文有效负载
物业名称 | 类型 | 描述 |
---|---|---|
id令牌 | 细绳 | 帐户的 Firebase ID 令牌。 |
删除提供者 | 字符串列表 | 要取消链接的提供商 ID 列表,例如:“google.com”、“密码”等。 |
物业名称 | 类型 | 描述 |
---|---|---|
本地ID | 细绳 | 当前用户的uid。 |
电子邮件 | 细绳 | 帐户的电子邮件。 |
显示名称 | 细绳 | 帐户的显示名称。 |
照片网址 | 细绳 | 帐户的照片 URL。 |
密码哈希值 | 细绳 | 密码的哈希版本。 |
提供者用户信息 | JSON 对象列表 | 包含“providerId”和“federatedId”的所有链接提供程序对象的列表。 |
电子邮件已验证 | 布尔值 | 帐户的电子邮件是否已验证。 |
样品请求
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"idToken":"[FIREBASE_ID_TOKEN]","deleteProvider":["[facebook.com]"]}'
成功的请求由200 OK
HTTP 状态代码指示。
响应示例
{ "localId": "huDwUz...", "email": "user@example.com", "displayName": "John Doe", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "passwordHash": "...", "providerUserInfo": [ { "providerId": "google.com", "federatedId": "1234567890", "displayName": "John Doe", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg" }, { "providerId": "password", "federatedId": "user@example.com" } ], "emailVerified": "true" }
常见错误代码
- INVALID_ID_TOKEN:用户的凭据不再有效。用户必须重新登录。
发送邮件验证
您可以通过向 Auth getOobConfirmationCode
端点发出 HTTP POST
请求来发送当前用户的电子邮件验证。
方法:邮寄
内容类型: application/json
端点https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]可选标头
物业名称 | 描述 |
---|---|
X-Firebase-区域设置 | 与用户区域设置对应的语言代码。通过此操作将本地化发送给用户的电子邮件验证。 |
物业名称 | 类型 | 描述 |
---|---|---|
请求类型 | 细绳 | 要发送的确认码的类型。应始终为“VERIFY_EMAIL”。 |
id令牌 | 细绳 | 要验证的用户的 Firebase ID 令牌。 |
物业名称 | 类型 | 描述 |
---|---|---|
电子邮件 | 细绳 | 帐户的电子邮件。 |
样品请求
curl 'https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"requestType":"VERIFY_EMAIL","idToken":"[FIREBASE_ID_TOKEN]"}'
成功的请求由200 OK
HTTP 状态代码指示。
响应示例
{ "email": "user@example.com" }
常见错误代码
- INVALID_ID_TOKEN:用户的凭据不再有效。用户必须重新登录。
- USER_NOT_FOUND:没有与该标识符对应的用户记录。该用户可能已被删除。
确认电子邮件验证
您可以通过向 Auth setAccountInfo
端点发出 HTTP POST
请求来确认电子邮件验证码。
方法:邮寄
内容类型: application/json
端点https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]请求正文有效负载
物业名称 | 类型 | 描述 |
---|---|---|
出库代码 | 细绳 | 操作代码发送到用户的电子邮件以进行电子邮件验证。 |
物业名称 | 类型 | 描述 |
---|---|---|
电子邮件 | 细绳 | 帐户的电子邮件。 |
显示名称 | 细绳 | 帐户的显示名称。 |
照片网址 | 细绳 | 帐户的照片 URL。 |
密码哈希值 | 细绳 | 密码哈希。 |
提供者用户信息 | JSON 对象列表 | 包含“providerId”和“federatedId”的所有链接提供程序对象的列表。 |
电子邮件已验证 | 布尔值 | 帐户的电子邮件是否已验证。 |
样品请求
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"oobCode":"[VERIFICATION_CODE]"}'
成功的请求由200 OK
HTTP 状态代码指示。
响应示例
{ "localId": "FhyStE...", "email": "user@example.com", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "user@example.com" } ] }
常见错误代码
- EXPIRED_OOB_CODE:操作代码已过期。
- INVALID_OOB_CODE:操作代码无效。如果代码格式错误、过期或已被使用,则可能会发生这种情况。
- USER_DISABLED:用户帐户已被管理员禁用。
- EMAIL_NOT_FOUND:没有与该标识符对应的用户记录。该用户可能已被删除。
删除帐户
您可以通过向 Auth deleteAccount
端点发出 HTTP POST
请求来删除当前用户。
方法:邮寄
内容类型: application/json
端点https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]请求正文有效负载
物业名称 | 类型 | 描述 |
---|---|---|
id令牌 | 细绳 | 要删除的用户的 Firebase ID 令牌。 |
物业名称 | 类型 | 描述 |
---|
样品请求
curl 'https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"idToken":"[FIREBASE_ID_TOKEN]"}'
成功的请求由200 OK
HTTP 状态代码指示。
常见错误代码
- INVALID_ID_TOKEN:用户的凭据不再有效。用户必须重新登录。
- USER_NOT_FOUND:没有与该标识符对应的用户记录。该用户可能已被删除。
Firebase 身份验证模拟器
Firebase 本地模拟器套件包含一个身份验证模拟器,可用于身份验证流程的本地原型设计和测试。模拟器公开以下 REST 端点。
清除用户帐户
删除指定项目中的所有帐户,无论状态如何。
方法:删除
端点请注意, 9099
是身份验证模拟器的默认端口。检查终端输出以了解正在使用的实际端口。
http://localhost:9099/emulator/v1/projects/{project-id}/accounts
获取模拟器配置
获取指定项目的模拟器特定配置。
方法:获取
端点请注意, 9099
是身份验证模拟器的默认端口。检查终端输出以了解正在使用的实际端口。
http://localhost:9099/emulator/v1/projects/{project-id}/config响应负载
物业名称 | 类型 | 描述 |
---|---|---|
登入 | 目的 | 包含单个密钥的登录配置对象, allowDuplicateEmails (布尔值)。 |
补丁模拟器配置
更新指定项目的模拟器特定配置。
方法:补丁
端点请注意, 9099
是身份验证模拟器的默认端口。检查终端输出以了解正在使用的实际端口。
内容类型: application/json
http://localhost:9099/emulator/v1/projects/{project-id}/config请求正文有效负载
物业名称 | 类型 | 描述 |
---|---|---|
登入 | 目的 | 所需的带有单键的登录配置对象, allowDuplicateEmails (布尔值)。 |
物业名称 | 类型 | 描述 |
---|---|---|
登入 | 目的 | 带有单键,允许allowDuplicateEmails (布尔值)的重新签名配置对象。 |
检索带外身份验证代码
如果您正在测试的身份验证流通常会生成带外代码(例如,电子邮件验证代码,密码重置代码),则模拟器内部存储此类代码,直到使用它们为止。
方法:获取
端点请注意, 9099
是身份验证模拟器的默认端口。检查终端输出是否使用的实际端口。
http://localhost:9099/emulator/v1/projects/{project-id}/oobCodes响应有效载荷
属性名称 | 类型 | 描述 |
---|---|---|
OOBCODES | 大批 | 包含所有待处理确认代码的详细信息的一系列对象。每个对象都包含email (字符串), oobCode (string), oobLink (string)和requestType (string) |
检索SMS验证代码
如果您正在测试电话/SMS身份验证流,则模拟器在内部进行此类SMS代码,直到使用它们为止。
方法:获取
端点请注意, 9099
是身份验证模拟器的默认端口。检查终端输出是否使用的实际端口。
http://localhost:9099/emulator/v1/projects/{project-id}/verificationCodes响应有效载荷
属性名称 | 类型 | 描述 |
---|---|---|
验证码 | 大批 | 包含所有待处理验证代码的详细信息的一系列对象。每个对象都包含phoneNumber (String)和sessionCode (String)。 |
错误响应
错误响应格式
每当上述任何API中的后端服务器返回错误时,响应将具有以下格式。
响应示例
{ "error": { "errors": [ { "domain": "global", "reason": "invalid", "message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN" } ], "code": 400, "message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN" } }
错误代码是从消息字段获得的。上述所有错误代码都涉及消息字段内容。