REST API Firebase Auth

Penggunaan API

Anda dapat membuat kueri backend Firebase Auth melalui REST API. Ini dapat digunakan untuk berbagai operasi seperti seperti membuat pengguna baru, memasukkan pengguna yang sudah ada, dan mengedit atau menghapus pengguna ini.

Di seluruh dokumen ini, API_KEY mengacu pada Kunci API Web, yang dapat diperoleh di setelan project di konsol admin Anda.

Tukar token kustom dengan ID dan token refresh

Anda bisa menukar token Auth khusus dengan ID dan token pembaruan dengan mengeluarkan Permintaan POST ke endpoint verifyCustomToken Auth.

Metode: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
Meminta Payload Tubuh
Nama Properti Jenis Deskripsi
token string Token kustom Firebase Auth yang digunakan untuk membuat pasangan ID dan token refresh.
returnSecureToken boolean Apakah akan menampilkan ID dan token refresh atau tidak. Harus selalu benar.
Payload Respons
Nama Properti Jenis Deskripsi
idToken string Token ID Firebase Auth yang dibuat dari token kustom yang diberikan.
refreshToken string Token refresh Firebase Auth yang dibuat dari token kustom yang diberikan.
berakhirDalam string Jumlah detik saat token ID berakhir.

Contoh permintaan

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"token":"[CUSTOM_TOKEN]","returnSecureToken":true}'

Permintaan yang berhasil ditunjukkan dengan HTTP 200 OK kode status. Respons berisi token ID Firebase dan token refresh yang terkait dengan token kustom.

Contoh respons

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

Kode error umum

  • INVALID_CUSTOM_TOKEN: Format token khusus salah atau token tidak valid untuk beberapa alasan (mis. sudah tidak berlaku, tanda tangan tidak valid, dll.)
  • CREDENTIAL_MISMATCH: Token kustom sesuai dengan project Firebase yang berbeda.

Menukarkan token refresh dengan token ID

Anda bisa me-refresh token ID Firebase dengan menerbitkan Permintaan POST ke endpoint securetoken.googleapis.com.

Metode: POST

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

Endpoint
https://securetoken.googleapis.com/v1/token?key=[API_KEY]
Meminta Payload Tubuh
Nama Properti Jenis Deskripsi
grant_type string Jenis pemberian token refresh, selalu "refresh_token".
refresh_token string Token refresh Firebase Auth.
Payload Respons
Nama Properti Jenis Deskripsi
expires_in string Jumlah detik saat token ID berakhir.
token_type string Jenis token refresh, selalu "Bearer".
refresh_token string Token refresh Firebase Auth yang disediakan dalam permintaan atau token refresh baru.
id_token [id_token] string Token ID Firebase Auth.
user_id string UID yang sesuai dengan token ID yang diberikan.
project_id string Project ID Firebase Anda.

Contoh permintaan

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]'

Permintaan yang berhasil ditunjukkan dengan HTTP 200 OK kode status. Respons akan berisi token ID Firebase dan token refresh.

Contoh respons

{
  "expires_in": "3600",
  "token_type": "Bearer",
  "refresh_token": "[REFRESH_TOKEN]",
  "id_token": "[ID_TOKEN]",
  "user_id": "tRcfmLH7o2XrNELi...",
  "project_id": "1234567890"
}

Kode error umum

  • TOKEN_EXPIRED: Kredensial pengguna sudah tidak valid. Pengguna harus login lagi.
  • USER_DISABLED: Akun pengguna telah dinonaktifkan oleh administrator.
  • USER_NOT_FOUND: Pengguna yang sesuai dengan token refresh tidak ditemukan. Kemungkinan pengguna telah dihapus.
  • Kunci API tidak valid. Berikan kunci API yang valid. (kunci API yang diberikan tidak valid)
  • INVALID_REFRESH_TOKEN: Diberikan token refresh yang tidak valid.
  • Payload JSON yang diterima tidak valid. Nama tidak diketahui \"refresh_tokens\": Tidak dapat mengikat kueri . Kolom 'refresh_tokens' tidak dapat ditemukan dalam pesan permintaan.
  • INVALID_GRANT_TYPE: Jenis pemberian yang ditetapkan tidak valid.
  • MISSING_REFRESH_TOKEN: Tidak ada token pembaruan yang disediakan.
  • PROJECT_NUMBER_MISMATCH: Nomor project token pembaruan tidak cocok dengan kunci API yang diberikan.

Mendaftar dengan email / sandi

Anda dapat membuat pengguna email dan sandi baru dengan menerbitkan permintaan Permintaan POST ke endpoint signupNewUser Auth.

Metode: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Meminta Payload Tubuh
Nama Properti Jenis Deskripsi
email string Email yang akan dibuat oleh pengguna.
sandi string Sandi yang harus dibuat oleh pengguna.
returnSecureToken boolean Apakah akan menampilkan ID dan token refresh atau tidak. Harus selalu benar.
Payload Respons
Nama Properti Jenis Deskripsi
idToken string Token ID Firebase Auth untuk pengguna yang baru dibuat.
email string Email untuk pengguna yang baru dibuat.
refreshToken string Token refresh Firebase Auth untuk pengguna yang baru dibuat.
berakhirDalam string Jumlah detik saat token ID berakhir.
IDlokal string UID dari pengguna yang baru dibuat.

Contoh permintaan

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}'

Permintaan yang berhasil ditunjukkan dengan HTTP 200 OK kode status. Respons berisi token ID Firebase dan token refresh yang terkait dengan akun baru.

Contoh respons

{
  "idToken": "[ID_TOKEN]",
  "email": "[user@example.com]",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "localId": "tRcfmLH7..."
}

Kode error umum

  • EMAIL_EXISTS: Alamat email sudah digunakan oleh akun lain.
  • OPERATION_NOT_ALLOWED: Login dengan sandi dinonaktifkan untuk project ini.
  • TOO_MANY_TRYS_TRY_LATER: Kami telah memblokir semua permintaan dari perangkat ini karena tindakan yang tidak biasa aktivitas Anda. Coba lagi nanti.

Login dengan email / sandi

Anda dapat membuat pengguna login dengan email dan sandi menggunakan permintaan HTTP Permintaan POST ke endpoint verifyPassword Auth.

Metode: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
Meminta Payload Tubuh
Nama Properti Jenis Deskripsi
email string Email yang digunakan pengguna untuk login.
sandi string Sandi untuk akun.
returnSecureToken boolean Apakah akan menampilkan ID dan token refresh atau tidak. Harus selalu benar.
Payload Respons
Nama Properti Jenis Deskripsi
idToken string Token ID Firebase Auth untuk pengguna yang diautentikasi.
email string Email untuk pengguna terautentikasi.
refreshToken string Token refresh Firebase Auth untuk pengguna yang diautentikasi.
berakhirDalam string Jumlah detik saat token ID berakhir.
IDlokal string UID dari pengguna yang diautentikasi.
terdaftar boolean Apakah email tersebut berasal dari akun yang sudah ada.

Contoh permintaan

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}'

Permintaan yang berhasil ditunjukkan dengan HTTP 200 OK kode status. Respons berisi token ID Firebase dan token refresh yang terkait dengan akun email/kata sandi yang ada.

Contoh respons

{
  "localId": "ZY1rJK0eYLg...",
  "email": "[user@example.com]",
  "displayName": "",
  "idToken": "[ID_TOKEN]",
  "registered": true,
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600"
}

Kode error umum

  • EMAIL_NOT_FOUND: Tidak ada catatan pengguna yang sesuai dengan ID ini. Pengguna mungkin telah dihapus.
  • INVALID_PASSWORD: Sandi tidak valid atau pengguna tidak memiliki sandi.
  • USER_DISABLED: Akun pengguna telah dinonaktifkan oleh administrator.

Login secara anonim

Anda dapat membuat pengguna login secara anonim dengan menerbitkan permintaan Permintaan POST ke endpoint signupNewUser Auth.

Metode: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Meminta Payload Tubuh
Nama Properti Jenis Deskripsi
returnSecureToken boolean Apakah akan menampilkan ID dan token refresh atau tidak. Harus selalu benar.
Payload Respons
Nama Properti Jenis Deskripsi
idToken string Token ID Firebase Auth untuk pengguna yang baru dibuat.
email string Karena pengguna anonim, kolom ini harus kosong.
refreshToken string Token refresh Firebase Auth untuk pengguna yang baru dibuat.
berakhirDalam string Jumlah detik saat token ID berakhir.
IDlokal string UID dari pengguna yang baru dibuat.

Contoh permintaan

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]' \
-H 'Content-Type: application/json' --data-binary '{"returnSecureToken":true}'

Permintaan yang berhasil ditunjukkan dengan HTTP 200 OK kode status. Respons berisi token ID Firebase dan token refresh yang terkait dengan pengguna anonim.

Contoh respons

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

Kode error umum

  • OPERATION_NOT_ALLOWED: Login pengguna anonim dinonaktifkan untuk project ini.

Login dengan kredensial OAuth

Anda dapat membuat pengguna login menggunakan kredensial OAuth dengan mengeluarkan perintah HTTP Permintaan POST ke endpoint verifyAssertion Auth.

Metode: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Meminta Payload Tubuh
Nama Properti Jenis Deskripsi
requestUri string URI tempat IDP mengalihkan pengguna kembali.
postBody string Berisi kredensial OAuth (token ID atau token akses) dan ID penyedia yang diterbitkan kredensial tersebut.
returnSecureToken boolean Apakah akan menampilkan ID dan token refresh atau tidak. Harus selalu benar.
returnIdpCredential boolean Apakah akan memaksa pengembalian kredensial OAuth pada error berikut: FEDERATED_USER_ID_ALREADY_LINKED dan EMAIL_EXISTS.
Payload Respons
Nama Properti Jenis Deskripsi
federatedId string ID unik mengidentifikasi akun IdP.
providerId string ID penyedia yang terhubung (misalnya "google.com" untuk penyedia Google).
IDlokal string UID dari pengguna yang diautentikasi.
emailTerverifikasi boolean Apakah email login telah diverifikasi.
email string Email akun.
{i>oauthIdToken<i} string Token ID OIDC jika tersedia.
{i>oauthAccessToken<i} string Token akses OAuth, jika tersedia.
{i>oauthTokenSecret<i} string Rahasia token OAuth 1.0 jika tersedia.
rawUserInfo string Respons JSON string yang berisi semua data IdP yang sesuai dengan yang diberikan Kredensial OAuth.
namadepan string Nama depan akun.
NamaBelakang string Nama belakang akun.
Nama Lengkap string Nama lengkap akun.
Nama Tampilan string Nama tampilan akun.
URL foto string URL foto untuk akun.
idToken string Token ID Firebase Auth untuk pengguna yang diautentikasi.
refreshToken string Token refresh Firebase Auth untuk pengguna yang diautentikasi.
berakhirDalam string Jumlah detik saat token ID berakhir.
kebutuhanKonfirmasi boolean Apakah akun lain dengan kredensial yang sama sudah ada atau belum. Pengguna akan membutuhkan untuk masuk ke akun asli dan kemudian menghubungkan kredensial saat ini ke akun tersebut.

Contoh permintaan dengan token ID OAuth

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}'

Permintaan yang berhasil ditunjukkan dengan HTTP 200 OK kode status. Respons berisi token ID Firebase dan token refresh yang terkait dengan pengguna yang diautentikasi.

Contoh respons dengan token ID OAuth

{
  "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\", ...}"
}

Contoh permintaan dengan token akses 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}'

Permintaan yang berhasil ditunjukkan dengan HTTP 200 OK kode status. Respons berisi token ID Firebase dan token refresh yang terkait dengan pengguna yang diautentikasi.

Contoh respons dengan token akses 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\", ...}"
}

Contoh permintaan dengan kredensial 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}'

Permintaan yang berhasil ditunjukkan dengan HTTP 200 OK kode status. Respons berisi token ID Firebase dan token refresh yang terkait dengan pengguna yang diautentikasi.

Contoh respons dengan kredensial 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\", ...}"
}

Kode error umum

  • OPERATION_NOT_ALLOWED: Penyedia yang sesuai dinonaktifkan untuk project ini.
  • INVALID_IDP_RESPONSE: Format kredensial autentikasi yang diberikan salah atau sudah tidak berlaku.

Mengambil penyedia untuk email

Anda dapat melihat semua penyedia yang terkait dengan email tertentu dengan mengeluarkan perintah HTTP Permintaan POST ke endpoint createAuthUri Auth.

Metode: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
Meminta Payload Tubuh
Nama Properti Jenis Deskripsi
ID string Alamat email pengguna
continueUri string URI tempat IDP mengalihkan pengguna kembali. Untuk kasus penggunaan ini, ini hanyalah URL saat ini.
Payload Respons
Nama Properti Jenis Deskripsi
allProviders Daftar string Daftar penyedia yang sebelumnya digunakan pengguna untuk login.
terdaftar boolean Apakah email tersebut untuk akun yang sudah ada

Contoh permintaan

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]"}'

Permintaan yang berhasil ditunjukkan dengan HTTP 200 OK kode status. Respons akan berisi daftar penyedia yang terkait dengan email tersebut.

Contoh respons

{
  "allProviders": [
    "password",
    "google.com"
  ],
  "registered": true
}

Kode error umum

  • INVALID_EMAIL: Format alamat email tidak benar.

Kirim email reset sandi

Anda bisa mengirim email pengaturan ulang kata sandi dengan menerbitkan Permintaan POST ke endpoint getOobConfirmationCode Auth.

Metode: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Header Opsional
Nama Properti Deskripsi
Lokal-X Firebase Kode bahasa yang sesuai dengan lokalitas pengguna. Meneruskan objek ini akan melokalkan email pengaturan ulang kata sandi yang dikirimkan ke pengguna.
Meminta Payload Tubuh
Nama Properti Jenis Deskripsi
requestType string Jenis kode OOB yang akan ditampilkan. Harus "PASSWORD_RESET" untuk reset sandi.
email string Alamat email pengguna.
Payload Respons
Nama Properti Jenis Deskripsi
email string Alamat email pengguna.

Contoh permintaan

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]"}'

Permintaan yang berhasil ditunjukkan dengan HTTP 200 OK kode status.

Contoh respons

{
 "email": "[user@example.com]"
}

Kode error umum

  • EMAIL_NOT_FOUND: Tidak ada catatan pengguna yang sesuai dengan ID ini. Pengguna mungkin telah dihapus.

Verifikasi kode reset sandi

Anda dapat memverifikasi kode pengaturan ulang sandi dengan mengeluarkan permintaan Permintaan POST ke endpoint resetPassword Auth.

Metode: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Meminta Payload Tubuh
Nama Properti Jenis Deskripsi
oobCode string Kode tindakan email yang dikirimkan ke email pengguna untuk mereset sandi.
Payload Respons
Nama Properti Jenis Deskripsi
email string Alamat email pengguna.
requestType string Jenis kode tindakan email. Harus "PASSWORD_RESET".

Contoh permintaan

curl 'https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]' \
-H 'Content-Type: application/json' --data-binary '{"oobCode":"[PASSWORD_RESET_CODE]"}'

Permintaan yang berhasil ditunjukkan dengan HTTP 200 OK kode status.

Contoh respons

{
  "email": "[user@example.com]",
  "requestType": "PASSWORD_RESET"
}

Kode error umum

  • OPERATION_NOT_ALLOWED: Login dengan sandi dinonaktifkan untuk project ini.
  • EXPIRED_OOB_CODE: Masa berlaku kode tindakan telah berakhir.
  • INVALID_OOB_CODE: Kode tindakan tidak valid. Hal ini dapat terjadi jika format kode salah, kedaluwarsa, atau telah digunakan.

Konfirmasi reset sandi

Anda dapat menerapkan perubahan pengaturan ulang sandi dengan mengeluarkan perintah HTTP Permintaan POST ke endpoint resetPassword Auth.

Metode: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Meminta Payload Tubuh
Nama Properti Jenis Deskripsi
oobCode string Kode tindakan email yang dikirimkan ke email pengguna untuk mereset sandi.
sandibaru string Sandi baru pengguna.
Payload Respons
Nama Properti Jenis Deskripsi
email string Alamat email pengguna.
requestType string Jenis kode tindakan email. Harus "PASSWORD_RESET".

Contoh permintaan

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]"}'

Permintaan yang berhasil ditunjukkan dengan HTTP 200 OK kode status.

Contoh respons

{
  "email": "[user@example.com]",
  "requestType": "PASSWORD_RESET"
}

Kode error umum

  • OPERATION_NOT_ALLOWED: Login dengan sandi dinonaktifkan untuk project ini.
  • EXPIRED_OOB_CODE: Masa berlaku kode tindakan telah berakhir.
  • INVALID_OOB_CODE: Kode tindakan tidak valid. Hal ini dapat terjadi jika format kode salah, kedaluwarsa, atau telah digunakan.
  • USER_DISABLED: Akun pengguna telah dinonaktifkan oleh administrator.

Ubah email

Anda dapat mengubah email pengguna dengan mengeluarkan perintah HTTP Permintaan POST ke endpoint setAccountInfo Auth.

Metode: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Header Opsional
Nama Properti Deskripsi
Lokal-X Firebase Kode bahasa yang sesuai dengan lokalitas pengguna. Meneruskan objek ini akan melokalkan pencabutan perubahan email yang dikirim ke pengguna.
Meminta Payload Tubuh
Nama Properti Jenis Deskripsi
idToken string Token ID Firebase Auth untuk pengguna.
email string Email baru pengguna.
returnSecureToken boolean Apakah akan menampilkan ID dan token refresh atau tidak.
Payload Respons
Nama Properti Jenis Deskripsi
IDlokal string UID pengguna saat ini.
email string Alamat email pengguna.
passwordHash string Versi hash sandi.
providerUserInfo Daftar objek JSON Daftar semua objek penyedia tertaut yang berisi "providerId" dan "federatedId".
idToken string Token ID Firebase Auth baru untuk pengguna.
refreshToken string Token refresh Firebase Auth.
berakhirDalam string Jumlah detik saat token ID berakhir.

Contoh permintaan

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}'

Permintaan yang berhasil ditunjukkan dengan HTTP 200 OK kode status. Respons akan berisi token ID Firebase baru dan token refresh yang terkait dengan pengguna.

Contoh respons

{
  "localId": "tRcfmLH7o2...",
  "email": "[user@example2.com]",
  "passwordHash": "...",
  "providerUserInfo": [
    {
      "providerId": "password",
      "federatedId": "[user@example2.com]"
    }
  ],
  "idToken": "[NEW_ID_TOKEN]",
  "refreshToken": "[NEW_REFRESH_TOKEN]",
  "expiresIn": "3600"
}

Kode error umum

  • EMAIL_EXISTS: Alamat email sudah digunakan oleh akun lain.
  • INVALID_ID_TOKEN:Kredensial pengguna tidak lagi valid. Pengguna harus login lagi.

Ubah sandi

Anda dapat mengubah {i>password<i} pengguna dengan mengeluarkan perintah HTTP Permintaan POST ke endpoint setAccountInfo Auth.

Metode: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Meminta Payload Tubuh
Nama Properti Jenis Deskripsi
idToken string Token ID Firebase Auth untuk pengguna.
sandi string Sandi baru pengguna.
returnSecureToken boolean Apakah akan menampilkan ID dan token refresh atau tidak.
Payload Respons
Nama Properti Jenis Deskripsi
IDlokal string UID pengguna saat ini.
email string Alamat email pengguna.
passwordHash string Versi hash sandi.
providerUserInfo Daftar objek JSON Daftar semua objek penyedia tertaut yang berisi "providerId" dan "federatedId".
idToken string Token ID Firebase Auth baru untuk pengguna.
refreshToken string Token refresh Firebase Auth.
berakhirDalam string Jumlah detik saat token ID berakhir.

Contoh permintaan

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}'

Permintaan yang berhasil ditunjukkan dengan HTTP 200 OK kode status. Respons akan berisi token ID Firebase baru dan token refresh yang terkait dengan pengguna.

Contoh respons

{
  "localId": "tRcfmLH7o2...",
  "email": "[user@example.com]",
  "passwordHash": "...",
  "providerUserInfo": [
    {
      "providerId": "password",
      "federatedId": "[user@example.com]"
    }
  ],
  "idToken": "[NEW_ID_TOKEN]",
  "refreshToken": "[NEW_REFRESH_TOKEN]",
  "expiresIn": "3600"
}

Kode error umum

  • INVALID_ID_TOKEN:Kredensial pengguna tidak lagi valid. Pengguna harus login lagi.
  • WEAK_PASSWORD: Panjang sandi harus 6 karakter atau lebih.

Perbarui profil

Anda dapat memperbarui profil pengguna (nama tampilan / URL foto) dengan mengirimkan permintaan Permintaan POST ke endpoint setAccountInfo Auth.

Metode: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Meminta Payload Tubuh
Nama Properti Jenis Deskripsi
idToken string Token ID Firebase Auth untuk pengguna.
Nama Tampilan string Nama tampilan baru pengguna.
URL foto string URL foto baru pengguna.
deleteAttribute Daftar string Daftar atribut yang akan dihapus, "DISPLAY_NAME" atau "PHOTO_URL". Tindakan ini akan membatalkannya masing-masing.
returnSecureToken boolean Apakah akan menampilkan ID dan token refresh atau tidak.
Payload Respons
Nama Properti Jenis Deskripsi
IDlokal string UID pengguna saat ini.
email string Alamat email pengguna.
Nama Tampilan string Nama tampilan baru pengguna.
URL foto string URL foto baru pengguna.
passwordHash string Versi hash sandi.
providerUserInfo Daftar objek JSON Daftar semua objek penyedia tertaut yang berisi "providerId" dan "federatedId".
idToken string Token ID Firebase Auth baru untuk pengguna.
refreshToken string Token refresh Firebase Auth.
berakhirDalam string Jumlah detik saat token ID berakhir.

Contoh permintaan

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}'

Permintaan yang berhasil ditunjukkan dengan HTTP 200 OK kode status.

Contoh respons

{
  "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"
}

Kode error umum

  • INVALID_ID_TOKEN:Kredensial pengguna tidak lagi valid. Pengguna harus login lagi.

Mendapatkan data pengguna

Anda bisa mendapatkan data pengguna dengan mengeluarkan perintah HTTP Permintaan POST ke endpoint getAccountInfo Auth.

Metode: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
Meminta Payload Tubuh
Nama Properti Jenis Deskripsi
idToken string Token ID Firebase akun.
Payload Respons
Nama Properti Jenis Deskripsi
pengguna Daftar objek JSON Akun yang terkait dengan token ID Firebase yang diberikan. Lihat di bawah untuk informasi selengkapnya spesifikasi pendukung.
Payload Respons (konten array users)
Nama Properti Jenis Deskripsi
IDlokal string UID pengguna saat ini.
email string Email akun.
emailTerverifikasi boolean Apakah email akun telah diverifikasi atau belum.
Nama Tampilan string Nama tampilan akun.
providerUserInfo Daftar objek JSON Daftar semua objek penyedia tertaut yang berisi "providerId" dan "federatedId".
URL foto string URL foto untuk akun.
passwordHash string Versi hash sandi.
sandiDiperbaruiPada double Stempel waktu, dalam milidetik, saat sandi akun terakhir diubah.
berlakuSejak string Stempel waktu, dalam detik, yang menandai batas, sebelum token ID Firebase dianggap dicabut.
dinonaktifkan boolean Apakah akun dinonaktifkan atau tidak.
lastLoginAt string Stempel waktu, dalam milidetik, saat terakhir kali akun login.
dibuatPada string Stempel waktu, dalam milidetik, saat akun dibuat.
Autentikasikustom boolean Apakah akun diautentikasi oleh developer.

Contoh permintaan

curl 'https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]' \
-H 'Content-Type: application/json' --data-binary '{"idToken":"[FIREBASE_ID_TOKEN]"}'

Permintaan yang berhasil ditunjukkan dengan HTTP 200 OK kode status. Respons akan berisi semua informasi pengguna yang terkait dengan akun.

Contoh respons

{
  "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
    }
  ]
}

Kode error umum

  • INVALID_ID_TOKEN:Kredensial pengguna tidak lagi valid. Pengguna harus login lagi.
  • USER_NOT_FOUND: Tidak ada catatan pengguna yang sesuai dengan ID ini. Pengguna mungkin telah dihapus.

Anda dapat menautkan email/kata sandi ke pengguna saat ini dengan mengeluarkan perintah HTTP Permintaan POST ke endpoint setAccountInfo Auth.

Metode: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Meminta Payload Tubuh
Nama Properti Jenis Deskripsi
idToken string Token ID Firebase dari akun yang Anda coba tautkan kredensialnya.
email string Email yang akan ditautkan ke akun.
sandi string Sandi baru akun.
returnSecureToken string Apakah akan menampilkan ID dan token refresh atau tidak. Harus selalu benar.
Payload Respons
Nama Properti Jenis Deskripsi
IDlokal string UID pengguna saat ini.
email string Email akun.
Nama Tampilan string Nama tampilan akun.
URL foto string URL foto untuk akun.
passwordHash string Versi hash sandi.
providerUserInfo Daftar objek JSON Daftar semua objek penyedia tertaut yang berisi "providerId" dan "federatedId".
emailTerverifikasi boolean Apakah email akun telah diverifikasi atau belum.
idToken string Token ID Firebase Auth baru untuk pengguna.
refreshToken string Token refresh Firebase Auth.
berakhirDalam string Jumlah detik saat token ID berakhir.

Contoh permintaan

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}'

Permintaan yang berhasil ditunjukkan dengan HTTP 200 OK kode status. Respons berisi token ID Firebase dan token refresh yang terkait dengan pengguna yang diotentikasi.

Contoh respons

{
  "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
}

Kode error umum

  • CREDENTIAL_TOO_OLD_LOGIN_AGAIN: Kredensial pengguna sudah tidak valid. Pengguna harus login lagi.
  • TOKEN_EXPIRED: Kredensial pengguna sudah tidak valid. Pengguna harus login lagi.
  • INVALID_ID_TOKEN:Kredensial pengguna tidak lagi valid. Pengguna harus login lagi.
  • WEAK_PASSWORD: Panjang sandi harus 6 karakter atau lebih.

Anda dapat menautkan kredensial OAuth ke pengguna dengan mengeluarkan permintaan Permintaan POST ke endpoint verifyAssertion Auth.

Metode: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Meminta Payload Tubuh
Nama Properti Jenis Deskripsi
idToken string Token ID Firebase dari akun yang Anda coba tautkan kredensialnya.
requestUri string URI tempat IDP mengalihkan pengguna kembali.
postBody string Berisi kredensial OAuth (token ID atau token akses) dan ID penyedia yang diterbitkan kredensial tersebut.
returnSecureToken boolean Apakah akan menampilkan ID dan token refresh atau tidak. Harus selalu benar.
returnIdpCredential boolean Apakah akan memaksa pengembalian kredensial OAuth pada error berikut: FEDERATED_USER_ID_ALREADY_LINKED dan EMAIL_EXISTS.
Payload Respons
Nama Properti Jenis Deskripsi
federatedId string ID unik mengidentifikasi akun IdP.
providerId string ID penyedia yang terhubung (misalnya "google.com" untuk penyedia Google).
IDlokal string UID dari pengguna yang diautentikasi.
emailTerverifikasi boolean Apakah email masuk telah diverifikasi.
email string Email akun.
{i>oauthIdToken<i} string Token ID OIDC jika tersedia.
{i>oauthAccessToken<i} string Token akses OAuth, jika tersedia.
{i>oauthTokenSecret<i} string Rahasia token OAuth 1.0 jika tersedia.
rawUserInfo string Respons JSON string yang berisi semua data IdP yang sesuai dengan yang diberikan Kredensial OAuth.
namadepan string Nama depan akun.
NamaBelakang string Nama belakang akun.
Nama Lengkap string Nama lengkap akun.
Nama Tampilan string Nama tampilan akun.
URL foto string URL foto untuk akun.
idToken string Token ID Firebase Auth untuk pengguna yang diautentikasi.
refreshToken string Token refresh Firebase Auth untuk pengguna yang diautentikasi.
berakhirDalam string Jumlah detik saat token ID berakhir.

Contoh permintaan dengan token ID OAuth

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}'

Permintaan yang berhasil ditunjukkan dengan HTTP 200 OK kode status. Respons berisi token ID Firebase dan token refresh yang terkait dengan pengguna yang diautentikasi.

Contoh respons dengan token ID OAuth

{
  "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\", ...}"
}

Contoh permintaan dengan token akses 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}'

Permintaan yang berhasil ditunjukkan dengan HTTP 200 OK kode status. Respons berisi token ID Firebase dan token refresh yang terkait dengan pengguna yang diautentikasi.

Contoh respons dengan token akses 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\", ...}"
}

Contoh permintaan dengan kredensial 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}'

Permintaan yang berhasil ditunjukkan dengan HTTP 200 OK kode status. Respons berisi token ID Firebase dan token refresh yang terkait dengan pengguna yang diautentikasi.

Contoh respons dengan kredensial 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\", ...}"
}

Kode error umum

  • OPERATION_NOT_ALLOWED: Penyedia yang sesuai dinonaktifkan untuk project ini.
  • INVALID_IDP_RESPONSE: Format kredensial autentikasi yang diberikan salah atau sudah tidak berlaku.
  • INVALID_ID_TOKEN:Kredensial pengguna tidak lagi valid. Pengguna harus login lagi.
  • EMAIL_EXISTS: Alamat email sudah digunakan oleh akun lain.
  • FEDERATED_USER_ID_ALREADY_LINKED: Kredensial ini sudah dikaitkan dengan kredensial yang berbeda menggunakan akun layanan.

Anda bisa membatalkan tautan penyedia dari pengguna saat ini dengan mengeluarkan Permintaan POST ke endpoint setAccountInfo Auth.

Metode: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Meminta Payload Tubuh
Nama Properti Jenis Deskripsi
idToken string Token ID Firebase akun.
deleteProvider Daftar string Daftar ID penyedia yang akan dibatalkan tautannya, misalnya: 'google.com', 'password', dll.
Payload Respons
Nama Properti Jenis Deskripsi
IDlokal string UID pengguna saat ini.
email string Email akun.
Nama Tampilan string Nama tampilan akun.
URL foto string URL foto untuk akun.
passwordHash string Versi hash sandi.
providerUserInfo Daftar objek JSON Daftar semua objek penyedia tertaut yang berisi "providerId" dan "federatedId".
emailTerverifikasi boolean Apakah email akun telah diverifikasi atau belum.

Contoh permintaan

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]"]}'

Permintaan yang berhasil ditunjukkan dengan HTTP 200 OK kode status.

Contoh respons

{
  "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"
}

Kode error umum

  • INVALID_ID_TOKEN: Kredensial pengguna tidak lagi valid. Pengguna harus login lagi.

Kirim verifikasi email

Anda dapat mengirim verifikasi email untuk pengguna saat ini dengan menerbitkan permintaan Permintaan POST ke endpoint getOobConfirmationCode Auth.

Metode: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Header Opsional
Nama Properti Deskripsi
Lokal-X Firebase Kode bahasa yang sesuai dengan lokalitas pengguna. Meneruskan objek ini akan melokalkan verifikasi email yang dikirim ke pengguna.
Meminta Payload Tubuh
Nama Properti Jenis Deskripsi
requestType string Jenis kode konfirmasi yang akan dikirim. Harus selalu "VERIFICATION_EMAIL".
idToken string Token ID Firebase pengguna yang akan diverifikasi.
Payload Respons
Nama Properti Jenis Deskripsi
email string Email akun.

Contoh permintaan

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]"}'

Permintaan yang berhasil ditunjukkan dengan HTTP 200 OK kode status.

Contoh respons

{
  "email": "user@example.com"
}

Kode error umum

  • INVALID_ID_TOKEN: Kredensial pengguna tidak lagi valid. Pengguna harus login lagi.
  • USER_NOT_FOUND: Tidak ada catatan pengguna yang sesuai dengan ID ini. Pengguna mungkin telah dihapus.

Konfirmasi verifikasi email

Anda dapat mengonfirmasi kode verifikasi email dengan menerbitkan Permintaan POST ke endpoint setAccountInfo Auth.

Metode: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Meminta Payload Tubuh
Nama Properti Jenis Deskripsi
oobCode string Kode tindakan yang dikirim ke email pengguna untuk verifikasi email.
Payload Respons
Nama Properti Jenis Deskripsi
email string Email akun.
Nama Tampilan string Nama tampilan akun.
URL foto string URL foto untuk akun.
passwordHash string Hash sandi.
providerUserInfo Daftar objek JSON Daftar semua objek penyedia tertaut yang berisi "providerId" dan "federatedId".
emailTerverifikasi boolean Apakah email akun telah diverifikasi atau belum.

Contoh permintaan

curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \
-H 'Content-Type: application/json' --data-binary '{"oobCode":"[VERIFICATION_CODE]"}'

Permintaan yang berhasil ditunjukkan dengan HTTP 200 OK kode status.

Contoh respons

{
  "localId": "FhyStE...",
  "email": "user@example.com",
  "passwordHash": "...",
  "providerUserInfo": [
    {
      "providerId": "password",
      "federatedId": "user@example.com"
    }
  ]
}

Kode error umum

  • EXPIRED_OOB_CODE: Masa berlaku kode tindakan telah berakhir.
  • INVALID_OOB_CODE: Kode tindakan tidak valid. Hal ini dapat terjadi jika format kode salah, kedaluwarsa, atau telah digunakan.
  • USER_DISABLED: Akun pengguna telah dinonaktifkan oleh administrator.
  • EMAIL_NOT_FOUND: Tidak ada catatan pengguna yang sesuai dengan ID ini. Pengguna mungkin telah dihapus.

Hapus akun

Anda dapat menghapus pengguna saat ini dengan mengeluarkan perintah HTTP Permintaan POST ke endpoint deleteAccount Auth.

Metode: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
Meminta Payload Tubuh
Nama Properti Jenis Deskripsi
idToken string Token ID Firebase pengguna yang akan dihapus.
Payload Respons
Nama Properti Jenis Deskripsi

Contoh permintaan

curl 'https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]' \
-H 'Content-Type: application/json' --data-binary '{"idToken":"[FIREBASE_ID_TOKEN]"}'

Permintaan yang berhasil ditunjukkan dengan HTTP 200 OK kode status.

Kode error umum

  • INVALID_ID_TOKEN:Kredensial pengguna tidak lagi valid. Pengguna harus login lagi.
  • USER_NOT_FOUND: Tidak ada catatan pengguna yang sesuai dengan ID ini. Pengguna mungkin telah dihapus.

Emulator Firebase Authentication

Firebase Local Emulator Suite menyertakan emulator Authentication yang dapat digunakan untuk pembuatan prototipe lokal dan pengujian alur otentikasi. Emulator mengekspos REST berikut endpoint.

Hapus akun pengguna

Menghapus semua akun dalam project yang ditentukan, apa pun statusnya.

Metode: DELETE

Endpoint

Perhatikan bahwa 9099 adalah port default untuk emulator Authentication. Periksa terminal {i>output<i} untuk porta sebenarnya yang digunakan.

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

Mendapatkan konfigurasi emulator

Mendapatkan konfigurasi khusus emulator untuk project yang ditentukan.

Metode: GET

Endpoint

Perhatikan bahwa 9099 adalah port default untuk emulator Authentication. Periksa terminal {i>output<i} untuk porta sebenarnya yang digunakan.

http://localhost:9099/emulator/v1/projects/{project-id}/config
Payload Respons
Nama Properti Jenis Deskripsi
login objek objek konfigurasi login yang berisi satu kunci, allowDuplicateEmails (boolean).

Melakukan patch pada konfigurasi emulator

Mengupdate konfigurasi khusus emulator untuk project yang ditentukan.

Metode: PATCH

Endpoint

Perhatikan bahwa 9099 adalah port default untuk emulator Authentication. Periksa terminal {i>output<i} untuk porta sebenarnya yang digunakan.

Content-Type: application/json

http://localhost:9099/emulator/v1/projects/{project-id}/config
Meminta Payload Tubuh
Nama Properti Jenis Deskripsi
login objek Objek konfigurasi login yang diinginkan dengan kunci tunggal, allowDuplicateEmails (boolean).
Payload Respons
Nama Properti Jenis Deskripsi
login objek Objek konfigurasi login pasca-permintaan dengan kunci tunggal, allowDuplicateEmails (boolean).

Mengambil kode autentikasi out-of-band

Jika alur autentikasi yang Anda uji biasanya akan menghasilkan kode out-of-band (mis., kode verifikasi email, kode setel ulang {i>password<i}), emulator menyimpan kode tersebut secara internal hingga digunakan.

Metode: GET

Endpoint

Perhatikan bahwa 9099 adalah port default untuk emulator Authentication. Periksa terminal {i>output <i}untuk porta aktual yang digunakan.

http://localhost:9099/emulator/v1/projects/{project-id}/oobCodes
Payload Respons
Nama Properti Jenis Deskripsi
oobCode array Array objek yang berisi detail semua kode konfirmasi yang tertunda. Setiap objek berisi email (string), oobCode (string), oobLink (string), dan requestType (string)

Mengambil kode verifikasi SMS

Jika Anda menguji alur autentikasi ponsel/SMS, emulator akan menyimpan kode SMS tersebut secara internal sampai digunakan.

Metode: GET

Endpoint

Perhatikan bahwa 9099 adalah port default untuk emulator Authentication. Periksa terminal {i>output<i} untuk porta sebenarnya yang digunakan.

http://localhost:9099/emulator/v1/projects/{project-id}/verificationCodes
Payload Respons
Nama Properti Jenis Deskripsi
kodeverifikasi array Array objek yang berisi detail semua kode verifikasi yang tertunda. Setiap objek berisi phoneNumber (string) dan sessionCode (string).

Respons Error

Format respons error

Setiap kali error ditampilkan dari server backend untuk API di atas, respons akan memiliki format berikut.

Contoh respons

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

Kode error diperoleh dari kolom pesan. Semua kode error di atas merujuk ke konten di kolom pesan.