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 akhirhttps://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. |
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 akhirhttps://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. |
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 akhirhttps://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. |
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 akhirhttps://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. |
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 akhirhttps://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. |
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 akhirhttps://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. |
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 akhirhttps://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. |
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 akhirhttps://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. |
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. |
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 akhirhttps://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. |
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 akhirhttps://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. |
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 akhirhttps://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. |
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. |
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 akhirhttps://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. |
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 akhirhttps://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. |
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 akhirhttps://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]Muatan Badan Permintaan
Nama properti | Jenis | Keterangan |
---|---|---|
idToken | rangkaian | Token ID Firebase dari akun tersebut. |
Nama properti | Jenis | Keterangan |
---|---|---|
pengguna | Daftar objek JSON | Akun yang terkait dengan token ID Firebase yang diberikan. Periksa di bawah untuk lebih jelasnya. |
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.
Tautan dengan email/kata sandi
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 akhirhttps://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. |
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.
Tautan dengan kredensial OAuth
Anda dapat menautkan kredensial OAuth ke pengguna dengan mengeluarkan permintaan HTTP POST
ke titik akhir Auth verifyAssertion
.
Metode: POSTING
Tipe Konten: application/json
Titik akhirhttps://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. |
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.
Putuskan tautan penyedia
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 akhirhttps://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. |
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 akhirhttps://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. |
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. |
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 akhirhttps://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. |
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 akhirhttps://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. |
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}/configMuatan 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}/configPermintaan Muatan Badan
Nama properti | Jenis | Keterangan |
---|---|---|
masuk | obyek | Objek konfigurasi masuk yang diinginkan dengan kunci tunggal, allowDuplicateEmails (boolean). |
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}/oobCodesMuatan 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}/verificationCodesMuatan 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.