Firebase Auth REST API

API 使用方式

您可以透過 REST API 查詢 Firebase 驗證後端。這種模型可用於多種作業,例如 像是建立新使用者、登入現有的使用者,以及編輯或刪除這些使用者

在本文件中,API_KEY 是指 Web API 金鑰, 您可在 專案設定 頁面。

使用 ID 和更新權杖交換自訂權杖

您可以為 ID 交換自訂驗證權杖,然後發出 HTTP 權杖 向驗證 verifyCustomToken 端點發出 POST 要求。

方法:POST

Content-Type:application/json

端點
https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
敬上 要求主體酬載
資源名稱 類型 說明
token 字串 建立 ID 和更新權杖組合的 Firebase 驗證自訂權杖。
returnSecureToken 布林值 是否傳回 ID 和更新權杖。應一律設為 true。
回應酬載
資源名稱 類型 說明
idToken 字串 提供的自訂權杖產生的 Firebase 驗證 ID 權杖。
updateToken 字串 提供的自訂權杖產生的 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 權杖相關聯的 Firebase ID 權杖和更新權杖 自訂權杖

回應範例

{
  "idToken": "[ID_TOKEN]",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600"
}

常見錯誤代碼

  • INVALID_CUSTOM_TOKEN:自訂符記格式不正確,或 某些原因 (例如已過期、簽名無效等)
  • CREDENTIAL_MISMATCH:自訂權杖對應至不同的 Firebase 專案。

將更新憑證更換為 ID 權杖

您可以發出 HTTP 來重新整理 Firebase ID 權杖 向 securetoken.googleapis.com 端點發出 POST 要求。

方法:POST

Content-Type: application/x-www-form-urlencoded

端點
https://securetoken.googleapis.com/v1/token?key=[API_KEY]
敬上 要求主體酬載
資源名稱 類型 說明
grant_type 字串 更新權杖的授權類型一律為「refresh_token」。
重新整理符記 字串 Firebase 驗證更新權杖。
回應酬載
資源名稱 類型 說明
expires_in 字串 ID 權杖的效期秒數。
token_type 字串 更新權杖的類型一律為「Bearer」。
重新整理符記 字串 要求中提供的 Firebase 驗證更新權杖或新的更新權杖。
ID_token 字串 Firebase 驗證 ID 權杖。
user_id 字串 與所提供 ID 權杖相對應的 uid。
project_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 金鑰不符。

使用電子郵件地址 / 密碼註冊

您可以發出 HTTP 來建立新的電子郵件和密碼使用者 向驗證 signupNewUser 端點發出 POST 要求。

方法:POST

Content-Type:application/json

端點
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
敬上 要求主體酬載
資源名稱 類型 說明
電子郵件 字串 要建立使用者的電子郵件。
密碼 字串 要建立使用者的密碼。
returnSecureToken 布林值 是否傳回 ID 和更新權杖。應一律設為 true。
回應酬載
資源名稱 類型 說明
idToken 字串 新建使用者的 Firebase 驗證 ID 權杖。
電子郵件 字串 建立新使用者的電子郵件。
updateToken 字串 新建使用者的 Firebase 驗證更新權杖。
到期時間: 字串 ID 權杖的效期秒數。
localId 字串 新建使用者的 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 權杖相關聯的 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:由於發生異常情況,我們已封鎖來自這部裝置的所有要求 活動。請稍後再試。

使用電子郵件地址 / 密碼登入

你可發出 HTTP 要求,透過電子郵件與密碼登入使用者帳戶 向驗證 verifyPassword 端點發出 POST 要求。

方法:POST

Content-Type:application/json

端點
https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
敬上 要求主體酬載
資源名稱 類型 說明
電子郵件 字串 使用者登入時所用的電子郵件。
密碼 字串 帳戶密碼。
returnSecureToken 布林值 是否傳回 ID 和更新權杖。應一律設為 true。
回應酬載
資源名稱 類型 說明
idToken 字串 已驗證使用者的 Firebase 驗證 ID 權杖。
電子郵件 字串 已驗證使用者的電子郵件。
updateToken 字串 已驗證使用者的 Firebase 驗證更新權杖。
到期時間: 字串 ID 權杖的效期秒數。
localId 字串 已驗證使用者的 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 權杖相關聯的 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:使用者帳戶已遭管理員停用。

匿名登入

如要匿名登入使用者身分,請發出 HTTP 向驗證 signupNewUser 端點發出 POST 要求。

方法:POST

Content-Type:application/json

端點
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
敬上 要求主體酬載
資源名稱 類型 說明
returnSecureToken 布林值 是否傳回 ID 和更新權杖。應一律設為 true。
回應酬載
資源名稱 類型 說明
idToken 字串 新建使用者的 Firebase 驗證 ID 權杖。
電子郵件 字串 由於使用者匿名,因此這個欄位應該留空。
updateToken 字串 新建使用者的 Firebase 驗證更新權杖。
到期時間: 字串 ID 權杖的效期秒數。
localId 字串 新建使用者的 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 權杖相關聯的 Firebase ID 權杖和更新權杖 與匿名使用者進行溝通

回應範例

{
  "idToken": "[ID_TOKEN]",
  "email": "",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "localId": "Jws4SVjpT..."
}

常見錯誤代碼

  • OPERATION_NOT_ALLOWED:這項專案已停用匿名使用者登入功能。

使用 OAuth 憑證登入

您可以核發 HTTP 憑證,透過 OAuth 憑證登入使用者 向驗證 verifyAssertion 端點發出 POST 要求。

方法:POST

Content-Type:application/json

端點
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
敬上 要求主體酬載
資源名稱 類型 說明
RequestUri 字串 IDP 將使用者重新導向回的 URI。
postBody 字串 包含會核發的 OAuth 憑證 (ID 權杖或存取權杖) 和提供者 ID 使用憑證
returnSecureToken 布林值 是否傳回 ID 和更新權杖。應一律設為 true。
returnIdpCredential 布林值 是否針對下列錯誤強制傳回 OAuth 憑證: FEDERATED_USER_ID_ALREADY_LINKED 和 EMAIL_EXISTS。
回應酬載
資源名稱 類型 說明
聯合 ID 字串 IdP 帳戶的專屬 ID 可用於識別 IdP 帳戶。
供應商 ID 字串 連結的供應商 ID (例如 Google 供應商的「google.com」)。
localId 字串 已驗證使用者的 uid。
已驗證電子郵件 布林值 登入電子郵件是否已通過驗證。
電子郵件 字串 帳戶的電子郵件。
oauthIdToken 字串 OIDC ID 權杖 (如有)。
oauthAccessToken 字串 OAuth 存取權杖 (如果有的話)。
oauthTokenSecret 字串 OAuth 1.0 權杖密鑰 (如果有的話)。
原始使用者資訊 字串 字串化的 JSON 回應,包含與所提供字串對應的所有 IdP 資料 OAuth 憑證。
名字 字串 帳戶的名字。
姓氏 字串 帳戶的姓氏。
全名 字串 帳戶的完整名稱。
displayName 字串 帳戶的顯示名稱。
相片網址 字串 帳戶的相片網址。
idToken 字串 已驗證使用者的 Firebase 驗證 ID 權杖。
updateToken 字串 已驗證使用者的 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 權杖相關聯的 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 權杖相關聯的 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 權杖相關聯的 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:提供的驗證憑證格式錯誤或已過期。

擷取電子郵件的提供者

你可以發出 HTTP 要求,查看與特定電子郵件相關聯的所有供應商 向驗證 createAuthUri 端點發出 POST 要求。

方法:POST

Content-Type:application/json

端點
https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
敬上 要求主體酬載
資源名稱 類型 說明
ID 字串 使用者的電子郵件地址
繼續 字串 IDP 將使用者重新導向回的 URI。以這個例子來說 。
回應酬載
資源名稱 類型 說明
所有供應商 字串清單 使用者先前登入的供應商清單。
已註冊 布林值 電子郵件是否來自現有帳戶

要求範例

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:電子郵件地址格式錯誤。

傳送重設密碼電子郵件

你可以發出 HTTP 密碼來傳送密碼重設電子郵件 向驗證 getOobConfirmationCode 端點發出 POST 要求。

方法:POST

Content-Type:application/json

端點
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
敬上 選用標頭
資源名稱 說明
X-Firebase 語言代碼 與使用者語言代碼對應的語言代碼。傳送後,系統會將 傳送給使用者的密碼重設電子郵件。
要求主體酬載
資源名稱 類型 說明
requestType 字串 要傳回的 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:沒有與這個識別碼相對應的使用者記錄。使用者或許可以 已刪除。

驗證密碼重設碼

如要驗證密碼重設碼,請發出 HTTP 向驗證 resetPassword 端點發出 POST 要求。

方法:POST

Content-Type:application/json

端點
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
敬上 要求主體酬載
資源名稱 類型 說明
oobCode 字串 傳送至使用者電子郵件,用於重設密碼的電子郵件動作代碼。
回應酬載
資源名稱 類型 說明
電子郵件 字串 使用者的電子郵件地址。
requestType 字串 電子郵件動作代碼的類型。應為「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:動作代碼無效。如果程式碼格式不正確,就可能發生這種情況 或已有人使用

確認重設密碼

您可以發送 HTTP 檔,以套用密碼重設變更 向驗證 resetPassword 端點發出 POST 要求。

方法:POST

Content-Type:application/json

端點
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
敬上 要求主體酬載
資源名稱 類型 說明
oobCode 字串 傳送至使用者電子郵件,用於重設密碼的電子郵件動作代碼。
新密碼 字串 使用者的新密碼。
回應酬載
資源名稱 類型 說明
電子郵件 字串 使用者的電子郵件地址。
requestType 字串 電子郵件動作代碼的類型。應為「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:使用者帳戶已遭管理員停用。

變更電子郵件

如要變更使用者的電子郵件,請發出 HTTP 向驗證 setAccountInfo 端點發出 POST 要求。

方法:POST

Content-Type:application/json

端點
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
敬上 選用標頭
資源名稱 說明
X-Firebase 語言代碼 與使用者語言代碼對應的語言代碼。傳送後,系統會將 已向使用者寄出電子郵件變更撤銷通知。
要求主體酬載
資源名稱 類型 說明
idToken 字串 使用者的 Firebase 驗證 ID 權杖。
電子郵件 字串 使用者的新電子郵件。
returnSecureToken 布林值 是否傳回 ID 和更新權杖。
回應酬載
資源名稱 類型 說明
localId 字串 目前使用者的 uid。
電子郵件 字串 使用者的電子郵件地址。
passwordHash 字串 密碼的雜湊版本。
供應商使用者資訊 JSON 物件清單 包含「providerId」的所有已連結提供者物件清單和「federatedId」
idToken 字串 為使用者建立新的 Firebase 驗證 ID 權杖。
updateToken 字串 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:使用者的憑證已失效。使用者必須再次登入。

變更密碼

如要變更使用者的密碼,請發出 HTTP 向驗證 setAccountInfo 端點發出 POST 要求。

方法:POST

Content-Type:application/json

端點
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
敬上 要求主體酬載
資源名稱 類型 說明
idToken 字串 使用者的 Firebase 驗證 ID 權杖。
密碼 字串 使用者的新密碼。
returnSecureToken 布林值 是否傳回 ID 和更新權杖。
回應酬載
資源名稱 類型 說明
localId 字串 目前使用者的 uid。
電子郵件 字串 使用者的電子郵件地址。
passwordHash 字串 密碼的雜湊版本。
供應商使用者資訊 JSON 物件清單 包含「providerId」的所有已連結提供者物件清單和「federatedId」
idToken 字串 為使用者建立新的 Firebase 驗證 ID 權杖。
updateToken 字串 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 個字元以上。

更新設定檔

您可以透過核發 HTTP 來更新使用者的個人資料 (顯示名稱 / 相片網址) 向驗證 setAccountInfo 端點發出 POST 要求。

方法:POST

Content-Type:application/json

端點
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
敬上 要求主體酬載
資源名稱 類型 說明
idToken 字串 使用者的 Firebase 驗證 ID 權杖。
displayName 字串 使用者的新顯示名稱。
相片網址 字串 使用者的新相片網址。
刪除屬性 字串清單 要刪除的屬性清單「DISPLAY_NAME」或「PHOTO_URL」。這樣一來 輕鬆分配獎金
returnSecureToken 布林值 是否傳回 ID 和更新權杖。
回應酬載
資源名稱 類型 說明
localId 字串 目前使用者的 uid。
電子郵件 字串 使用者的電子郵件地址。
displayName 字串 使用者的新顯示名稱。
相片網址 字串 使用者的新相片網址。
passwordHash 字串 密碼的雜湊版本。
供應商使用者資訊 JSON 物件清單 包含「providerId」的所有已連結提供者物件清單和「federatedId」
idToken 字串 為使用者建立新的 Firebase 驗證 ID 權杖。
updateToken 字串 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:使用者的憑證已失效。使用者必須再次登入。

取得使用者資料

如要取得使用者的資料,請發出 HTTP 向驗證 getAccountInfo 端點發出 POST 要求。

方法:POST

Content-Type:application/json

端點
https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
敬上 要求主體酬載
資源名稱 類型 說明
idToken 字串 帳戶的 Firebase ID 權杖。
回應酬載
資源名稱 類型 說明
使用者 JSON 物件清單 與指定 Firebase ID 權杖相關聯的帳戶。請閱讀下方說明,瞭解更多詳情 詳細資料。
回應酬載 (users 陣列內容)
資源名稱 類型 說明
localId 字串 目前使用者的 uid。
電子郵件 字串 帳戶的電子郵件。
已驗證電子郵件 布林值 帳戶的電子郵件是否已通過驗證。
displayName 字串 帳戶的顯示名稱。
供應商使用者資訊 JSON 物件清單 包含「providerId」的所有已連結提供者物件清單和「federatedId」
相片網址 字串 帳戶的相片網址。
passwordHash 字串 密碼的雜湊版本。
passwordUpdatedAt 雙精度值 帳戶密碼上次變更的時間戳記 (以毫秒為單位)。
有效自 字串 標示界線的時間戳記 (以秒為單位),該邊界過後 Firebase ID 權杖 視為已撤銷
已停用 布林值 該帳戶是否已停用。
lastLoginAt (上次登入時間) 字串 帳戶上次登入的時間戳記 (以毫秒為單位)。
建立時間 字串 帳戶建立時的時間戳記 (以毫秒為單位)。
自訂驗證 布林值 帳戶是否已通過開發人員驗證。

要求範例

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:沒有與這個識別碼相對應的使用者記錄。使用者或許可以 已刪除。

你可以發出 HTTP 要求,將電子郵件/密碼連結至目前的使用者 向驗證 setAccountInfo 端點發出 POST 要求。

方法:POST

Content-Type:application/json

端點
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
敬上 要求主體酬載
資源名稱 類型 說明
idToken 字串 您嘗試連結憑證的帳戶 Firebase ID 權杖。
電子郵件 字串 連結至帳戶的電子郵件。
密碼 字串 帳戶的新密碼。
returnSecureToken 字串 是否傳回 ID 和更新權杖。應一律設為 true。
回應酬載
資源名稱 類型 說明
localId 字串 目前使用者的 uid。
電子郵件 字串 帳戶的電子郵件。
displayName 字串 帳戶的顯示名稱。
相片網址 字串 帳戶的相片網址。
passwordHash 字串 密碼的雜湊版本。
供應商使用者資訊 JSON 物件清單 包含「providerId」的所有已連結提供者物件清單和「federatedId」
已驗證電子郵件 布林值 帳戶的電子郵件是否已通過驗證。
idToken 字串 為使用者建立新的 Firebase 驗證 ID 權杖。
updateToken 字串 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 圖示表示要求成功 狀態碼。回應會包含與 已通過驗證的使用者。

回應範例

{
  "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 個字元以上。

您可以發出 HTTP 憑證,藉此將 OAuth 憑證與使用者連結 向驗證 verifyAssertion 端點發出 POST 要求。

方法:POST

Content-Type:application/json

端點
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
敬上 要求主體酬載
資源名稱 類型 說明
idToken 字串 您嘗試連結憑證的帳戶 Firebase ID 權杖。
RequestUri 字串 IDP 將使用者重新導向回的 URI。
postBody 字串 包含會核發的 OAuth 憑證 (ID 權杖或存取權杖) 和提供者 ID 使用憑證
returnSecureToken 布林值 是否傳回 ID 和更新權杖。應一律設為 true。
returnIdpCredential 布林值 是否針對下列錯誤強制傳回 OAuth 憑證: FEDERATED_USER_ID_ALREADY_LINKED 和 EMAIL_EXISTS。
回應酬載
資源名稱 類型 說明
聯合 ID 字串 IdP 帳戶的專屬 ID 可用於識別 IdP 帳戶。
供應商 ID 字串 連結的供應商 ID (例如 Google 供應商的「google.com」)。
localId 字串 已驗證使用者的 uid。
已驗證電子郵件 布林值 登入電子郵件是否已通過驗證。
電子郵件 字串 帳戶的電子郵件。
oauthIdToken 字串 OIDC ID 權杖 (如有)。
oauthAccessToken 字串 OAuth 存取權杖 (如果有的話)。
oauthTokenSecret 字串 OAuth 1.0 權杖密鑰 (如果有的話)。
原始使用者資訊 字串 字串化的 JSON 回應,包含與所提供字串對應的所有 IdP 資料 OAuth 憑證。
名字 字串 帳戶的名字。
姓氏 字串 帳戶的姓氏。
全名 字串 帳戶的完整名稱。
displayName 字串 帳戶的顯示名稱。
相片網址 字串 帳戶的相片網址。
idToken 字串 已驗證使用者的 Firebase 驗證 ID 權杖。
updateToken 字串 已驗證使用者的 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 權杖相關聯的 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 權杖相關聯的 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 權杖相關聯的 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:這組憑證已與其他憑證建立關聯 使用者帳戶。

您可以發出 HTTP 網址,將提供者與目前使用者取消連結 向驗證 setAccountInfo 端點發出 POST 要求。

方法:POST

Content-Type:application/json

端點
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
敬上 要求主體酬載
資源名稱 類型 說明
idToken 字串 帳戶的 Firebase ID 權杖。
刪除供應商 字串清單 列出要取消連結的供應商 ID,例如「google.com」、「password」等。
回應酬載
資源名稱 類型 說明
localId 字串 目前使用者的 uid。
電子郵件 字串 帳戶的電子郵件。
displayName 字串 帳戶的顯示名稱。
相片網址 字串 帳戶的相片網址。
passwordHash 字串 密碼的雜湊版本。
供應商使用者資訊 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:使用者的憑證已失效。使用者必須再次登入。

傳送驗證電子郵件

你可以向目前的使用者傳送 HTTP 電子郵件驗證 向驗證 getOobConfirmationCode 端點發出 POST 要求。

方法:POST

Content-Type:application/json

端點
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
敬上 選用標頭
資源名稱 說明
X-Firebase 語言代碼 與使用者語言代碼對應的語言代碼。傳送後,系統會將 電子郵件驗證傳送給使用者。
要求主體酬載
資源名稱 類型 說明
requestType 字串 要傳送的確認碼類型。應一律設為「VERIFY_EMAIL」。
idToken 字串 待驗證使用者的 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:沒有與這個識別碼相對應的使用者記錄。使用者或許可以 已刪除。

確認電子郵件驗證

你可以透過發出 HTTP 來確認電子郵件驗證碼 向驗證 setAccountInfo 端點發出 POST 要求。

方法:POST

Content-Type:application/json

端點
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
敬上 要求主體酬載
資源名稱 類型 說明
oobCode 字串 傳送至使用者電子郵件地址的動作代碼,用於驗證電子郵件。
回應酬載
資源名稱 類型 說明
電子郵件 字串 帳戶的電子郵件。
displayName 字串 帳戶的顯示名稱。
相片網址 字串 帳戶的相片網址。
passwordHash 字串 密碼雜湊。
供應商使用者資訊 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:沒有與這個識別碼相對應的使用者記錄。使用者或許可以 已刪除。

刪除帳戶

你可以發出 HTTP 要求來刪除現有使用者 向驗證 deleteAccount 端點發出 POST 要求。

方法:POST

Content-Type:application/json

端點
https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
敬上 要求主體酬載
資源名稱 類型 說明
idToken 字串 要刪除的使用者的 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 端點。

清除使用者帳戶

移除指定專案中的所有帳戶 (無論狀態為何)。

方法:DELETE

端點

請注意,9099 是驗證模擬器的預設通訊埠。查看終端機 實際使用通訊埠的輸出內容

http://localhost:9099/emulator/v1/projects/{project-id}/accounts

取得模擬器設定

取得指定專案的模擬器專屬設定。

方法:GET

端點

請注意,9099 是驗證模擬器的預設通訊埠。查看終端機 實際使用通訊埠的輸出內容

http://localhost:9099/emulator/v1/projects/{project-id}/config
敬上 回應酬載
資源名稱 類型 說明
登入 物件 SignIn 設定物件包含單一金鑰 allowDuplicateEmails (布林值)。

修補模擬器設定

更新指定專案的模擬器專屬設定。

方法:PATCH

端點

請注意,9099 是驗證模擬器的預設通訊埠。查看終端機 實際使用通訊埠的輸出內容

Content-Type:application/json

http://localhost:9099/emulator/v1/projects/{project-id}/config
敬上 要求主體酬載
資源名稱 類型 說明
登入 物件 想要使用單一鍵 allowDuplicateEmails (布林值) 的 signIn 設定物件。
回應酬載
資源名稱 類型 說明
登入 物件 含單一索引鍵 allowDuplicateEmails (布林值) 後的要求 signIn 設定物件。

擷取頻外驗證碼

如果您測試的驗證流程通常會產生頻外代碼 (例如 電子郵件驗證碼、密碼重設碼),模擬器會在內部儲存這類驗證碼,直到 是使用 BERT 模型

方法:GET

端點

請注意,9099 是驗證模擬器的預設通訊埠。查看終端機 實際使用通訊埠的輸出內容

http://localhost:9099/emulator/v1/projects/{project-id}/oobCodes
敬上 回應酬載
資源名稱 類型 說明
雙重驗證代碼 陣列 包含所有待處理確認代碼詳細資料的物件陣列。 每個物件都包含 email (字串)、oobCode (字串)、 oobLink (字串) 和 requestType (字串)

擷取簡訊驗證碼

如果您要測試電話/簡訊驗證流程,模擬器會將這類簡訊代碼儲存在內部 直到使用為止

方法:GET

端點

請注意,9099 是驗證模擬器的預設通訊埠。查看終端機 實際使用通訊埠的輸出內容

http://localhost:9099/emulator/v1/projects/{project-id}/verificationCodes
敬上 回應酬載
資源名稱 類型 說明
驗證碼 陣列 物件陣列,內含所有待處理的驗證碼詳細資料。 每個物件都包含 phoneNumber (字串) 和 sessionCode (字串)。

錯誤回應

錯誤回應格式

如果上述任一 API 從後端伺服器傳回錯誤,則回應 將採用以下格式。

回應範例

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "invalid",
        "message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN"
      }
    ],
    "code": 400,
    "message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN"
  }
}

錯誤代碼會從訊息欄位取得。上述所有錯誤代碼都代表 訊息欄位中的內容。