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 個字元以上。
使用 OAuth 憑證連結
您可以發出 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" } }
錯誤代碼會從訊息欄位取得。上述所有錯誤代碼都代表 訊息欄位中的內容。