Firebase 驗證 REST API

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 個字元或更多。

您可以透過向 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

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
Request Body Payload
物業名稱類型描述
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 Local Emulator Suite包括一個身份驗證模擬器,可用於身份驗證流的局部原型製作和測試。模擬器揭示以下剩餘端點。

清除用戶帳戶

刪除指定項目中的所有帳戶,無論州如何。

方法:刪除

端點

請注意, 9099是身份驗證模擬器的預設連接埠。檢查終端輸出是否使用的實際連接埠。

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

取得模擬器配置

取得指定項目的模擬器特定配置。

方法:獲取

端點

請注意, 9099是身份驗證模擬器的預設連接埠。檢查終端輸出是否使用的實際連接埠。

http://localhost:9099/emulator/v1/projects/{project-id}/config
響應有效載荷
屬性名稱類型描述
登入目的符號配置對象,其中包含一個鍵, allowDuplicateEmails (boolean)。

補丁模擬器配置

更新指定項目的模擬器特定配置。

方法:補丁

端點

請注意, 9099是身份驗證模擬器的預設連接埠。檢查終端輸出是否使用的實際連接埠。

內容類型:應用程式/JSON

http://localhost:9099/emulator/v1/projects/{project-id}/config
請求身體有效載荷
屬性名稱類型描述
登入目的所需的符號配置對象,帶有單鍵, allowDuplicateEmails (boolean)。
回應有效載荷
屬性名稱類型描述
登入目的帶有單鍵,允許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"
  }
}

錯誤代碼是從訊息字段獲得的。上述所有錯誤代碼都涉及訊息欄位內容。