API REST Firebase Auth

Penggunaan API

Anda dapat menanyakan backend Firebase Auth melalui REST API. Ini dapat digunakan untuk berbagai operasi seperti membuat pengguna baru, masuk ke pengguna yang sudah ada, dan mengedit atau menghapus pengguna tersebut.

Di seluruh dokumen ini, API_KEY mengacu pada Kunci API Web, yang dapat diperoleh di halaman pengaturan proyek di konsol admin Anda.

Tukarkan token khusus dengan ID dan segarkan token

Anda dapat menukar token Auth khusus dengan ID dan token penyegaran dengan mengeluarkan permintaan HTTP POST ke titik akhir Auth verifyCustomToken .

Metode: POSTING

Tipe Konten: application/json

Titik akhir
https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
Muatan Badan Permintaan
Nama properti Jenis Keterangan
token rangkaian Token khusus Firebase Auth untuk membuat ID dan menyegarkan pasangan token.
kembaliSecureToken boolean Apakah akan mengembalikan ID dan menyegarkan token atau tidak. Harus selalu benar.
Muatan Respons
Nama properti Jenis Keterangan
idToken rangkaian Token ID Firebase Auth dihasilkan dari token khusus yang disediakan.
menyegarkanToken rangkaian Token penyegaran Firebase Auth dihasilkan dari token khusus yang disediakan.
kadaluarsa dalam rangkaian Jumlah detik saat token ID kedaluwarsa.

Permintaan sampel

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 kode status HTTP 200 OK . Responsnya berisi token ID Firebase dan token penyegaran yang terkait dengan token khusus.

Contoh tanggapan

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

Kode kesalahan umum

  • INVALID_CUSTOM_TOKEN: Format token khusus salah atau token tidak valid karena beberapa alasan (misalnya kedaluwarsa, tanda tangan tidak valid, dll.)
  • CREDENTIAL_MISMATCH: Token khusus terkait dengan proyek Firebase yang berbeda.

Tukarkan token penyegaran dengan token ID

Anda dapat menyegarkan token ID Firebase dengan mengeluarkan permintaan HTTP POST ke endpoint securetoken.googleapis.com .

Metode: POSTING

Tipe Konten: application/x-www-form-urlencoded

Titik akhir
https://securetoken.googleapis.com/v1/token?key=[API_KEY]
Muatan Badan Permintaan
Nama properti Jenis Keterangan
hibah_tipe rangkaian Jenis pemberian token penyegaran, selalu "refresh_token".
segarkan_token rangkaian Token penyegaran Firebase Auth.
Muatan Respons
Nama properti Jenis Keterangan
kadaluarsa dalam rangkaian Jumlah detik saat token ID kedaluwarsa.
token_type rangkaian Jenis token penyegaran, selalu "Pembawa".
segarkan_token rangkaian Token penyegaran Firebase Auth disediakan dalam permintaan atau token penyegaran baru.
id_token rangkaian Token ID Firebase Auth.
identitas pengguna rangkaian Uid yang sesuai dengan token ID yang diberikan.
proyek_id rangkaian ID proyek Firebase Anda.

Permintaan sampel

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 kode status HTTP 200 OK . Responsnya berisi token ID Firebase baru dan token penyegaran.

Contoh tanggapan

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

Kode kesalahan umum

  • TOKEN_EXPIRED: Kredensial pengguna tidak valid lagi. Pengguna harus masuk lagi.
  • USER_DISABLED: Akun pengguna telah dinonaktifkan oleh administrator.
  • USER_NOT_FOUND: Pengguna yang sesuai dengan token penyegaran tidak ditemukan. Kemungkinan besar pengguna tersebut telah dihapus.
  • Kunci API tidak valid. Harap berikan kunci API yang valid. (kunci API yang diberikan tidak valid)
  • INVALID_REFRESH_TOKEN: Token penyegaran yang diberikan tidak valid.
  • Payload JSON tidak valid diterima. Nama tidak dikenal \"refresh_tokens\": Tidak dapat mengikat parameter kueri. Bidang 'refresh_tokens' tidak dapat ditemukan dalam pesan permintaan.
  • INVALID_GRANT_TYPE: Jenis hibah yang ditentukan tidak valid.
  • MISSING_REFRESH_TOKEN: Tidak ada token penyegaran yang disediakan.
  • PROJECT_NUMBER_MISMATCH: Nomor proyek token penyegaran tidak cocok dengan kunci API yang disediakan.

Daftar dengan email/kata sandi

Anda dapat membuat pengguna email dan kata sandi baru dengan mengeluarkan permintaan HTTP POST ke titik akhir Auth signupNewUser .

Metode: POSTING

Tipe Konten: application/json

Titik akhir
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Muatan Badan Permintaan
Nama properti Jenis Keterangan
surel rangkaian Email untuk dibuat oleh pengguna.
kata sandi rangkaian Kata sandi untuk dibuat oleh pengguna.
kembaliSecureToken boolean Apakah akan mengembalikan ID dan menyegarkan token atau tidak. Harus selalu benar.
Muatan Respons
Nama properti Jenis Keterangan
idToken rangkaian Token ID Firebase Auth untuk pengguna yang baru dibuat.
surel rangkaian Email untuk pengguna yang baru dibuat.
menyegarkanToken rangkaian Token penyegaran Firebase Auth untuk pengguna yang baru dibuat.
kadaluarsa dalam rangkaian Jumlah detik saat token ID kedaluwarsa.
Id lokal rangkaian Uid pengguna yang baru dibuat.

Permintaan sampel

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 kode status HTTP 200 OK . Responsnya berisi token ID Firebase dan token penyegaran yang terkait dengan akun baru.

Contoh tanggapan

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

Kode kesalahan umum

  • EMAIL_EXISTS: Alamat email sudah digunakan oleh akun lain.
  • OPERATION_NOT_ALLOWED: Masuk dengan kata sandi dinonaktifkan untuk proyek ini.
  • TOO_MANY_ATTEMPTS_TRY_LATER: Kami telah memblokir semua permintaan dari perangkat ini karena aktivitas yang tidak biasa. Coba lagi nanti.

Masuk dengan email/kata sandi

Anda dapat memasukkan pengguna dengan email dan kata sandi dengan mengeluarkan permintaan HTTP POST ke titik akhir Auth verifyPassword .

Metode: POSTING

Tipe Konten: application/json

Titik akhir
https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
Muatan Badan Permintaan
Nama properti Jenis Keterangan
surel rangkaian Email yang digunakan pengguna untuk masuk.
kata sandi rangkaian Kata sandi untuk akun tersebut.
kembaliSecureToken boolean Apakah akan mengembalikan ID dan menyegarkan token atau tidak. Harus selalu benar.
Muatan Respons
Nama properti Jenis Keterangan
idToken rangkaian Token ID Firebase Auth untuk pengguna yang diautentikasi.
surel rangkaian Email untuk pengguna yang diautentikasi.
menyegarkanToken rangkaian Token penyegaran Firebase Auth untuk pengguna yang diautentikasi.
kadaluarsa dalam rangkaian Jumlah detik saat token ID kedaluwarsa.
Id lokal rangkaian Uid pengguna yang diautentikasi.
terdaftar boolean Apakah email tersebut untuk akun yang sudah ada.

Permintaan sampel

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 kode status HTTP 200 OK . Responsnya berisi token ID Firebase dan token penyegaran yang terkait dengan akun email/kata sandi yang ada.

Contoh tanggapan

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

Kode kesalahan umum

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

Masuk secara anonim

Anda dapat memasukkan pengguna secara anonim dengan mengeluarkan permintaan HTTP POST ke titik akhir Auth signupNewUser .

Metode: POSTING

Tipe Konten: application/json

Titik akhir
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Muatan Badan Permintaan
Nama properti Jenis Keterangan
kembaliSecureToken boolean Apakah akan mengembalikan ID dan menyegarkan token atau tidak. Harus selalu benar.
Muatan Respons
Nama properti Jenis Keterangan
idToken rangkaian Token ID Firebase Auth untuk pengguna yang baru dibuat.
surel rangkaian Karena penggunanya anonim, ini harus kosong.
menyegarkanToken rangkaian Token penyegaran Firebase Auth untuk pengguna yang baru dibuat.
kadaluarsa dalam rangkaian Jumlah detik saat token ID kedaluwarsa.
Id lokal rangkaian Uid pengguna yang baru dibuat.

Permintaan sampel

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 kode status HTTP 200 OK . Responsnya berisi token ID Firebase dan token penyegaran yang dikaitkan dengan pengguna anonim.

Contoh tanggapan

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

Kode kesalahan umum

  • OPERATION_NOT_ALLOWED: Proses masuk pengguna anonim dinonaktifkan untuk proyek ini.

Masuk dengan kredensial OAuth

Anda dapat memasukkan pengguna dengan kredensial OAuth dengan mengeluarkan permintaan HTTP POST ke titik akhir Auth verifyAssertion .

Metode: POSTING

Tipe Konten: application/json

Titik akhir
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Muatan Badan Permintaan
Nama properti Jenis Keterangan
permintaanUri rangkaian URI yang menjadi tujuan IDP mengalihkan pengguna kembali.
postBody rangkaian Berisi kredensial OAuth (token ID atau token akses) dan ID penyedia yang mengeluarkan kredensial.
kembaliSecureToken boolean Apakah akan mengembalikan ID dan menyegarkan token atau tidak. Harus selalu benar.
returnIdpCredential boolean Apakah akan memaksa pengembalian kredensial OAuth pada kesalahan berikut: FEDERATED_USER_ID_ALREADY_LINKED dan EMAIL_EXISTS.
Muatan Respons
Nama properti Jenis Keterangan
federasiId rangkaian ID unik mengidentifikasi akun IdP.
penyediaId rangkaian ID penyedia tertaut (misalnya "google.com" untuk penyedia Google).
Id lokal rangkaian Uid pengguna yang diautentikasi.
email terverifikasi boolean Apakah email masuk sudah diverifikasi.
surel rangkaian Email akun tersebut.
oauthIdToken rangkaian Token id OIDC jika tersedia.
oauthAccessToken rangkaian Token akses OAuth jika tersedia.
oauthTokenSecret rangkaian Rahasia token OAuth 1.0 jika tersedia.
infopengguna mentah rangkaian Respons JSON yang dirangkai berisi semua data IdP yang sesuai dengan kredensial OAuth yang diberikan.
nama depan rangkaian Nama depan akun tersebut.
nama keluarga rangkaian Nama belakang akun tersebut.
nama lengkap rangkaian Nama lengkap akun tersebut.
nama tampilan rangkaian Nama tampilan untuk akun tersebut.
fotoUrl rangkaian Url foto untuk akun tersebut.
idToken rangkaian Token ID Firebase Auth untuk pengguna yang diautentikasi.
menyegarkanToken rangkaian Token penyegaran Firebase Auth untuk pengguna yang diautentikasi.
kadaluarsa dalam rangkaian Jumlah detik saat token ID kedaluwarsa.
membutuhkan Konfirmasi boolean Apakah akun lain dengan kredensial yang sama sudah ada. Pengguna harus masuk ke akun asli dan kemudian menautkan 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 kode status HTTP 200 OK . Responsnya berisi token ID Firebase dan token penyegaran 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 kode status HTTP 200 OK . Responsnya berisi token ID Firebase dan token penyegaran 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 kode status HTTP 200 OK . Responsnya berisi token ID Firebase dan token penyegaran 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 kesalahan umum

  • OPERATION_NOT_ALLOWED: Penyedia terkait dinonaktifkan untuk proyek ini.
  • INVALID_IDP_RESPONSE: Kredensial autentikasi yang diberikan salah format atau telah kedaluwarsa.

Ambil penyedia untuk email

Anda dapat melihat semua penyedia yang terkait dengan email tertentu dengan mengeluarkan permintaan HTTP POST ke titik akhir Auth createAuthUri .

Metode: POSTING

Tipe Konten: application/json

Titik akhir
https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
Muatan Badan Permintaan
Nama properti Jenis Keterangan
pengidentifikasi rangkaian Alamat email pengguna
lanjutkanUri rangkaian URI yang menjadi tujuan IDP mengalihkan pengguna kembali. Untuk kasus penggunaan ini, ini hanyalah URL saat ini.
Muatan Respons
Nama properti Jenis Keterangan
semua Penyedia Daftar string Daftar penyedia yang sebelumnya pernah digunakan pengguna untuk masuk.
terdaftar boolean Apakah email tersebut untuk akun yang sudah ada

Permintaan sampel

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 kode status HTTP 200 OK . Responsnya berisi daftar penyedia yang terkait dengan email.

Contoh tanggapan

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

Kode kesalahan umum

  • INVALID_EMAIL: Format alamat email salah.

Kirim email pengaturan ulang kata sandi

Anda dapat mengirim email pengaturan ulang kata sandi dengan mengeluarkan permintaan HTTP POST ke titik akhir Auth getOobConfirmationCode .

Metode: POSTING

Tipe Konten: application/json

Titik akhir
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Header Opsional
Nama properti Keterangan
X-Firebase-Lokal Kode bahasa yang sesuai dengan lokal pengguna. Melewati ini akan melokalisasi email pengaturan ulang kata sandi yang dikirimkan kepada pengguna.
Minta Muatan Tubuh
Nama properti Jenis Keterangan
tipe permintaan rangkaian Jenis kode OOB yang akan dikembalikan. Seharusnya "PASSWORD_RESET" untuk menyetel ulang kata sandi.
surel rangkaian Alamat email pengguna.
Muatan Respons
Nama properti Jenis Keterangan
surel rangkaian Alamat email pengguna.

Permintaan sampel

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 kode status HTTP 200 OK .

Contoh tanggapan

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

Kode kesalahan umum

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

Verifikasi kode pengaturan ulang kata sandi

Anda dapat memverifikasi kode pengaturan ulang kata sandi dengan mengeluarkan permintaan HTTP POST ke titik akhir Auth resetPassword .

Metode: POSTING

Tipe Konten: application/json

Titik akhir
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Muatan Badan Permintaan
Nama properti Jenis Keterangan
oobCode rangkaian Kode tindakan email dikirim ke email pengguna untuk mengatur ulang kata sandi.
Muatan Respons
Nama properti Jenis Keterangan
surel rangkaian Alamat email pengguna.
tipe permintaan rangkaian Jenis kode tindakan email. Seharusnya "PASSWORD_RESET".

Permintaan sampel

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 kode status HTTP 200 OK .

Contoh tanggapan

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

Kode kesalahan umum

  • OPERATION_NOT_ALLOWED: Masuk dengan kata sandi dinonaktifkan untuk proyek ini.
  • EXPIRED_OOB_CODE: Kode tindakan telah kedaluwarsa.
  • INVALID_OOB_CODE: Kode tindakan tidak valid. Hal ini dapat terjadi jika format kode salah, kedaluwarsa, atau sudah digunakan.

Konfirmasikan pengaturan ulang kata sandi

Anda dapat menerapkan perubahan pengaturan ulang kata sandi dengan mengeluarkan permintaan HTTP POST ke titik akhir Auth resetPassword .

Metode: POSTING

Tipe Konten: application/json

Titik akhir
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Muatan Badan Permintaan
Nama properti Jenis Keterangan
oobCode rangkaian Kode tindakan email dikirim ke email pengguna untuk mengatur ulang kata sandi.
kata sandi baru rangkaian Kata sandi baru pengguna.
Muatan Respons
Nama properti Jenis Keterangan
surel rangkaian Alamat email pengguna.
tipe permintaan rangkaian Jenis kode tindakan email. Seharusnya "PASSWORD_RESET".

Permintaan sampel

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 kode status HTTP 200 OK .

Contoh tanggapan

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

Kode kesalahan umum

  • OPERATION_NOT_ALLOWED: Masuk dengan kata sandi dinonaktifkan untuk proyek ini.
  • EXPIRED_OOB_CODE: Kode tindakan telah kedaluwarsa.
  • INVALID_OOB_CODE: Kode tindakan tidak valid. Hal ini dapat terjadi jika format kode salah, kedaluwarsa, atau sudah digunakan.
  • USER_DISABLED: Akun pengguna telah dinonaktifkan oleh administrator.

Ganti e-mail

Anda dapat mengubah email pengguna dengan mengeluarkan permintaan HTTP POST ke titik akhir Auth setAccountInfo .

Metode: POSTING

Tipe Konten: application/json

Titik akhir
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Header Opsional
Nama properti Keterangan
X-Firebase-Lokal Kode bahasa yang sesuai dengan lokal pengguna. Melewati ini akan melokalisasi pencabutan perubahan email yang dikirimkan kepada pengguna.
Minta Muatan Tubuh
Nama properti Jenis Keterangan
idToken rangkaian Token ID Firebase Auth untuk pengguna.
surel rangkaian Email baru pengguna.
kembaliSecureToken boolean Apakah akan mengembalikan ID dan menyegarkan token atau tidak.
Muatan Respons
Nama properti Jenis Keterangan
Id lokal rangkaian Uid pengguna saat ini.
surel rangkaian Alamat email pengguna.
kata sandiHash rangkaian Versi hash dari kata sandi.
penyediaUserInfo Daftar objek JSON Daftar semua objek penyedia tertaut yang berisi "providerId" dan "federasiId".
idToken rangkaian Token ID Firebase Auth baru untuk pengguna.
menyegarkanToken rangkaian Token penyegaran Firebase Auth.
kadaluarsa dalam rangkaian Jumlah detik saat token ID kedaluwarsa.

Permintaan sampel

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 kode status HTTP 200 OK . Responsnya berisi token ID Firebase baru dan token penyegaran yang dikaitkan dengan pengguna.

Contoh tanggapan

{
  "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 kesalahan umum

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

Ganti kata sandi

Anda dapat mengubah kata sandi pengguna dengan mengeluarkan permintaan HTTP POST ke titik akhir Auth setAccountInfo .

Metode: POSTING

Tipe Konten: application/json

Titik akhir
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Muatan Badan Permintaan
Nama properti Jenis Keterangan
idToken rangkaian Token ID Firebase Auth untuk pengguna.
kata sandi rangkaian Kata sandi baru pengguna.
kembaliSecureToken boolean Apakah akan mengembalikan ID dan menyegarkan token atau tidak.
Muatan Respons
Nama properti Jenis Keterangan
Id lokal rangkaian Uid pengguna saat ini.
surel rangkaian Alamat email pengguna.
kata sandiHash rangkaian Kata sandi versi hash.
penyediaUserInfo Daftar objek JSON Daftar semua objek penyedia tertaut yang berisi "providerId" dan "federasiId".
idToken rangkaian Token ID Firebase Auth baru untuk pengguna.
menyegarkanToken rangkaian Token penyegaran Firebase Auth.
kadaluarsa dalam rangkaian Jumlah detik saat token ID kedaluwarsa.

Permintaan sampel

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 kode status HTTP 200 OK . Responsnya berisi token ID Firebase baru dan token penyegaran yang dikaitkan dengan pengguna.

Contoh tanggapan

{
  "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 kesalahan umum

  • INVALID_ID_TOKEN: Kredensial pengguna tidak valid lagi. Pengguna harus masuk lagi.
  • WEAK_PASSWORD: Kata sandi harus terdiri dari 6 karakter atau lebih.

Memperbaharui profil

Anda dapat memperbarui profil pengguna (nama tampilan/URL foto) dengan mengeluarkan permintaan HTTP POST ke titik akhir Auth setAccountInfo .

Metode: POSTING

Tipe Konten: application/json

Titik akhir
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Muatan Badan Permintaan
Nama properti Jenis Keterangan
idToken rangkaian Token ID Firebase Auth untuk pengguna.
nama tampilan rangkaian Nama tampilan baru pengguna.
fotoUrl rangkaian Url foto baru pengguna.
deleteAttribute Daftar string Daftar atribut yang akan dihapus, "DISPLAY_NAME" atau "PHOTO_URL". Ini akan meniadakan nilai-nilai ini.
kembaliSecureToken boolean Apakah akan mengembalikan ID dan menyegarkan token atau tidak.
Muatan Respons
Nama properti Jenis Keterangan
Id lokal rangkaian Uid pengguna saat ini.
surel rangkaian Alamat email pengguna.
nama tampilan rangkaian Nama tampilan baru pengguna.
fotoUrl rangkaian Url foto baru pengguna.
kata sandiHash rangkaian Kata sandi versi hash.
penyediaUserInfo Daftar objek JSON Daftar semua objek penyedia tertaut yang berisi "providerId" dan "federasiId".
idToken rangkaian Token ID Firebase Auth baru untuk pengguna.
menyegarkanToken rangkaian Token penyegaran Firebase Auth.
kadaluarsa dalam rangkaian Jumlah detik saat token ID kedaluwarsa.

Permintaan sampel

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 kode status HTTP 200 OK .

Contoh tanggapan

{
  "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 kesalahan umum

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

Dapatkan data pengguna

Anda bisa mendapatkan data pengguna dengan mengeluarkan permintaan HTTP POST ke titik akhir Auth getAccountInfo .

Metode: POSTING

Tipe Konten: application/json

Titik akhir
https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
Muatan Badan Permintaan
Nama properti Jenis Keterangan
idToken rangkaian Token ID Firebase dari akun tersebut.
Muatan Respons
Nama properti Jenis Keterangan
pengguna Daftar objek JSON Akun yang terkait dengan token ID Firebase yang diberikan. Periksa di bawah untuk lebih jelasnya.
Respon Payload (konten array users )
Nama properti Jenis Keterangan
Id lokal rangkaian Uid pengguna saat ini.
surel rangkaian Email akun tersebut.
email terverifikasi boolean Apakah email akun sudah terverifikasi atau belum.
nama tampilan rangkaian Nama tampilan untuk akun tersebut.
penyediaUserInfo Daftar objek JSON Daftar semua objek penyedia tertaut yang berisi "providerId" dan "federasiId".
fotoUrl rangkaian Url foto untuk akun tersebut.
kata sandiHash rangkaian Kata sandi versi hash.
kata sandiDiperbaruiPada dobel Stempel waktu, dalam milidetik, saat kata sandi akun terakhir diubah.
validSejak rangkaian Stempel waktu, dalam detik, yang menandai batas sebelum token ID Firebase dianggap dicabut.
dengan disabilitas boolean Apakah akun tersebut dinonaktifkan atau tidak.
terakhirLoginAt rangkaian Stempel waktu, dalam milidetik, saat akun terakhir kali masuk.
dibuat di rangkaian Stempel waktu, dalam milidetik, saat akun dibuat.
customAuth boolean Apakah akun tersebut diautentikasi oleh pengembang.

Permintaan sampel

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 kode status HTTP 200 OK . Responsnya akan berisi semua informasi pengguna yang terkait dengan akun tersebut.

Contoh tanggapan

{
  "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 kesalahan umum

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

Anda dapat menautkan email/kata sandi ke pengguna saat ini dengan mengeluarkan permintaan HTTP POST ke titik akhir Auth setAccountInfo .

Metode: POSTING

Tipe Konten: application/json

Titik akhir
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Muatan Badan Permintaan
Nama properti Jenis Keterangan
idToken rangkaian Token ID Firebase dari akun yang ingin Anda tautkan kredensialnya.
surel rangkaian Email untuk ditautkan ke akun.
kata sandi rangkaian Kata sandi akun yang baru.
kembaliSecureToken rangkaian Apakah akan mengembalikan ID dan menyegarkan token atau tidak. Harus selalu benar.
Muatan Respons
Nama properti Jenis Keterangan
Id lokal rangkaian Uid pengguna saat ini.
surel rangkaian Email akun tersebut.
nama tampilan rangkaian Nama tampilan untuk akun tersebut.
fotoUrl rangkaian Url foto untuk akun tersebut.
kata sandiHash rangkaian Kata sandi versi hash.
penyediaUserInfo Daftar objek JSON Daftar semua objek penyedia tertaut yang berisi "providerId" dan "federasiId".
email terverifikasi boolean Apakah email akun sudah terverifikasi atau belum.
idToken rangkaian Token ID Firebase Auth baru untuk pengguna.
menyegarkanToken rangkaian Token penyegaran Firebase Auth.
kadaluarsa dalam rangkaian Jumlah detik saat token ID kedaluwarsa.

Permintaan sampel

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 kode status HTTP 200 OK . Responsnya berisi token ID Firebase dan token penyegaran yang terkait dengan pengguna yang diautentikasi.

Contoh tanggapan

{
  "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 kesalahan umum

  • CREDENTIAL_TOO_OLD_LOGIN_AGAIN: Kredensial pengguna tidak lagi valid. Pengguna harus masuk lagi.
  • TOKEN_EXPIRED: Kredensial pengguna tidak valid lagi. Pengguna harus masuk lagi.
  • INVALID_ID_TOKEN: Kredensial pengguna tidak valid lagi. Pengguna harus masuk lagi.
  • WEAK_PASSWORD: Kata sandi harus terdiri dari 6 karakter atau lebih.

Anda dapat menautkan kredensial OAuth ke pengguna dengan mengeluarkan permintaan HTTP POST ke titik akhir Auth verifyAssertion .

Metode: POSTING

Tipe Konten: application/json

Titik akhir
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Muatan Badan Permintaan
Nama properti Jenis Keterangan
idToken rangkaian Token ID Firebase dari akun yang ingin Anda tautkan kredensialnya.
permintaanUri rangkaian URI yang menjadi tujuan IDP mengalihkan pengguna kembali.
postBody rangkaian Berisi kredensial OAuth (token ID atau token akses) dan ID penyedia yang mengeluarkan kredensial.
kembaliSecureToken boolean Apakah akan mengembalikan ID dan menyegarkan token atau tidak. Harus selalu benar.
returnIdpCredential boolean Apakah akan memaksa pengembalian kredensial OAuth pada kesalahan berikut: FEDERATED_USER_ID_ALREADY_LINKED dan EMAIL_EXISTS.
Muatan Respons
Nama properti Jenis Keterangan
federasiId rangkaian ID unik mengidentifikasi akun IdP.
penyediaId rangkaian ID penyedia tertaut (misalnya "google.com" untuk penyedia Google).
Id lokal rangkaian Uid pengguna yang diautentikasi.
email terverifikasi boolean Apakah email masuk sudah diverifikasi.
surel rangkaian Email akun tersebut.
oauthIdToken rangkaian Token id OIDC jika tersedia.
oauthAccessToken rangkaian Token akses OAuth jika tersedia.
oauthTokenSecret rangkaian Rahasia token OAuth 1.0 jika tersedia.
infopengguna mentah rangkaian Respons JSON yang dirangkai berisi semua data IdP yang sesuai dengan kredensial OAuth yang diberikan.
nama depan rangkaian Nama depan akun tersebut.
nama keluarga rangkaian Nama belakang akun tersebut.
nama lengkap rangkaian Nama lengkap akun tersebut.
nama tampilan rangkaian Nama tampilan untuk akun tersebut.
fotoUrl rangkaian Url foto untuk akun tersebut.
idToken rangkaian Token ID Firebase Auth untuk pengguna yang diautentikasi.
menyegarkanToken rangkaian Token penyegaran Firebase Auth untuk pengguna yang diautentikasi.
kadaluarsa dalam rangkaian Jumlah detik saat token ID kedaluwarsa.

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 kode status HTTP 200 OK . Responsnya berisi token ID Firebase dan token penyegaran 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 kode status HTTP 200 OK . Responsnya berisi token ID Firebase dan token penyegaran 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 kode status HTTP 200 OK . Responsnya berisi token ID Firebase dan token penyegaran 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 kesalahan umum

  • OPERATION_NOT_ALLOWED: Penyedia terkait dinonaktifkan untuk proyek ini.
  • INVALID_IDP_RESPONSE: Kredensial autentikasi yang diberikan salah format atau telah kedaluwarsa.
  • INVALID_ID_TOKEN: Kredensial pengguna tidak valid lagi. Pengguna harus masuk lagi.
  • EMAIL_EXISTS: Alamat email sudah digunakan oleh akun lain.
  • FEDERATED_USER_ID_ALREADY_LINKED: Kredensial ini sudah dikaitkan dengan akun pengguna lain.

Anda dapat membatalkan tautan penyedia dari pengguna saat ini dengan mengeluarkan permintaan HTTP POST ke titik akhir Auth setAccountInfo .

Metode: POSTING

Tipe Konten: application/json

Titik akhir
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Muatan Badan Permintaan
Nama properti Jenis Keterangan
idToken rangkaian Token ID Firebase dari akun tersebut.
deleteProvider Daftar string Daftar ID penyedia yang akan dibatalkan tautannya, misalnya: 'google.com', 'password', dll.
Muatan Respons
Nama properti Jenis Keterangan
Id lokal rangkaian Uid pengguna saat ini.
surel rangkaian Email akun tersebut.
nama tampilan rangkaian Nama tampilan untuk akun tersebut.
fotoUrl rangkaian Url foto untuk akun tersebut.
kata sandiHash rangkaian Versi hash dari kata sandi.
penyediaUserInfo Daftar objek JSON Daftar semua objek penyedia tertaut yang berisi "providerId" dan "federasiId".
email terverifikasi boolean Apakah email akun sudah terverifikasi atau belum.

Permintaan sampel

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 kode status HTTP 200 OK .

Contoh tanggapan

{
  "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 kesalahan umum

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

Kirim verifikasi email

Anda dapat mengirim verifikasi email untuk pengguna saat ini dengan mengeluarkan permintaan HTTP POST ke titik akhir Auth getOobConfirmationCode .

Metode: POSTING

Tipe Konten: application/json

Titik akhir
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Header Opsional
Nama properti Keterangan
X-Firebase-Lokal Kode bahasa yang sesuai dengan lokal pengguna. Melewati ini akan melokalkan verifikasi email yang dikirimkan ke pengguna.
Minta Muatan Tubuh
Nama properti Jenis Keterangan
tipe permintaan rangkaian Jenis kode konfirmasi yang akan dikirim. Harus selalu "VERIFY_EMAIL".
idToken rangkaian Token ID Firebase pengguna yang akan diverifikasi.
Muatan Respons
Nama properti Jenis Keterangan
surel rangkaian Email akun tersebut.

Permintaan sampel

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 kode status HTTP 200 OK .

Contoh tanggapan

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

Kode kesalahan umum

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

Konfirmasikan verifikasi email

Anda dapat mengonfirmasi kode verifikasi email dengan mengeluarkan permintaan HTTP POST ke titik akhir Auth setAccountInfo .

Metode: POSTING

Tipe Konten: application/json

Titik akhir
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Muatan Badan Permintaan
Nama properti Jenis Keterangan
oobCode rangkaian Kode tindakan dikirim ke email pengguna untuk verifikasi email.
Muatan Respons
Nama properti Jenis Keterangan
surel rangkaian Email akun tersebut.
nama tampilan rangkaian Nama tampilan untuk akun tersebut.
fotoUrl rangkaian Url foto untuk akun tersebut.
kata sandiHash rangkaian Hash kata sandi.
penyediaUserInfo Daftar objek JSON Daftar semua objek penyedia tertaut yang berisi "providerId" dan "federasiId".
email terverifikasi boolean Apakah email akun sudah terverifikasi atau belum.

Permintaan sampel

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 kode status HTTP 200 OK .

Contoh tanggapan

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

Kode kesalahan umum

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

Hapus akun

Anda dapat menghapus pengguna saat ini dengan mengeluarkan permintaan HTTP POST ke titik akhir Auth deleteAccount .

Metode: POSTING

Tipe Konten: application/json

Titik akhir
https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
Muatan Badan Permintaan
Nama properti Jenis Keterangan
idToken rangkaian Token ID Firebase milik pengguna yang akan dihapus.
Muatan Respons
Nama properti Jenis Keterangan

Permintaan sampel

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 kode status HTTP 200 OK .

Kode kesalahan umum

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

Emulator Otentikasi Firebase

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

Hapus akun pengguna

Hapus semua akun dalam proyek tertentu, apa pun negara bagiannya.

Metode: HAPUS

Titik akhir

Perhatikan bahwa 9099 adalah port default untuk emulator Otentikasi. Periksa keluaran terminal untuk port sebenarnya yang digunakan.

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

Dapatkan konfigurasi emulator

Dapatkan konfigurasi khusus emulator untuk proyek tertentu.

Metode: DAPATKAN

Titik akhir

Perhatikan bahwa 9099 adalah port default untuk emulator Otentikasi. Periksa keluaran terminal untuk port sebenarnya yang digunakan.

http://localhost:9099/emulator/v1/projects/{project-id}/config
Muatan Respons
Nama properti Jenis Keterangan
masuk obyek objek konfigurasi masuk yang berisi satu kunci, allowDuplicateEmails (boolean).

Konfigurasi emulator tambalan

Perbarui konfigurasi khusus emulator untuk proyek tertentu.

Metode: PATCH

Titik akhir

Perhatikan bahwa 9099 adalah port default untuk emulator Otentikasi. Periksa keluaran terminal untuk port sebenarnya yang digunakan.

Tipe Konten: application/json

http://localhost:9099/emulator/v1/projects/{project-id}/config
Permintaan Muatan Badan
Nama properti Jenis Keterangan
masuk obyek Objek konfigurasi masuk yang diinginkan dengan kunci tunggal, allowDuplicateEmails (boolean).
Muatan Respons
Nama properti Jenis Keterangan
masuk obyek Objek konfigurasi masuk pasca-permintaan dengan kunci tunggal, allowDuplicateEmails (boolean).

Ambil kode autentikasi out-of-band

Jika alur autentikasi yang Anda uji biasanya menghasilkan kode out-of-band (misalnya, kode verifikasi email, kode setel ulang kata sandi), emulator akan menyimpan kode tersebut secara internal hingga kode tersebut digunakan.

Metode: DAPATKAN

Titik akhir

Perhatikan bahwa 9099 adalah port default untuk emulator Otentikasi. Periksa keluaran terminal untuk port sebenarnya yang digunakan.

http://localhost:9099/emulator/v1/projects/{project-id}/oobCodes
Muatan Respons
Nama properti Jenis Keterangan
oobCodes Himpunan Serangkaian objek yang berisi rincian semua kode konfirmasi yang tertunda. Setiap objek berisi email (string), oobCode (string), oobLink (string), dan requestType (string)

Ambil kode verifikasi SMS

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

Metode: DAPATKAN

Titik akhir

Perhatikan bahwa 9099 adalah port default untuk emulator Otentikasi. Periksa keluaran terminal untuk port sebenarnya yang digunakan.

http://localhost:9099/emulator/v1/projects/{project-id}/verificationCodes
Muatan Respons
Nama properti Jenis Keterangan
kode verifikasi Himpunan Serangkaian objek yang berisi rincian semua kode verifikasi yang tertunda. Setiap objek berisi phoneNumber (string) dan sessionCode (string).

Respon Kesalahan

Format respons kesalahan

Setiap kali kesalahan dihasilkan dari server backend untuk salah satu API di atas, responsnya akan memiliki format berikut.

Contoh tanggapan

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

Kode kesalahan diperoleh dari kolom pesan. Semua kode kesalahan di atas mengacu pada isi bidang pesan.