Menggunakan REST API
Dokumen ini menunjukkan cara melakukan operasi pengguna yang umum, seperti membuat pengguna login dan menggunakan token, menggunakan Identity Platform REST API.
Sebelum memulai
Untuk menggunakan REST API, Anda memerlukan kunci Identity Platform API. Untuk mendapatkan kunci:
Buka halaman Identity Provider di Konsol Google Cloud.
Buka halaman Penyedia IdentitasKlik Detail penyiapan aplikasi.
Menyalin kolom
apiKey
.
Perhatikan bahwa HTTPS diperlukan untuk semua panggilan API.
Memanggil API
Tukar token kustom dengan ID dan token refresh
Anda dapat menukar token Auth kustom dengan ID dan token refresh dengan mengajukan permintaan HTTP POST
ke endpoint signInWithCustomToken
.
Metode: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
Nama Properti | Jenis | Deskripsi |
---|---|---|
token | string | Token kustom Identity Platform yang digunakan untuk membuat pasangan token ID dan refresh. |
returnSecureToken | boolean | Apakah akan menampilkan ID dan token refresh atau tidak. Harus selalu benar. |
tenantId | string | ID tenant yang digunakan pengguna untuk login. Hanya digunakan dalam multi-tenancy. Harus cocok dengan tenant_id dalam token. |
Properti | Nama | Deskripsi |
---|---|---|
alg | Algoritma | Harus RS256 . |
iss | Penerbit | Alamat email akun layanan project Anda. |
sub | Subjek | Alamat email akun layanan project Anda. |
aud | Audience | https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit |
iat | Waktu penerbitan | Waktu saat ini, dalam detik sejak epoch UNIX. |
exp | Waktu habis masa berlaku | Waktu saat token sudah tidak berlaku lagi, dalam satuan detik sejak epoch UNIX. Waktu ini bisa mencapai maksimum 3600 detik lebih lama daripada iat .
Catatan: ini hanya mengontrol kapan token kustom berhenti berlaku. Namun, setelah Anda memproses login menggunakan signInWithCustomToken() , pengguna akan tetap login di perangkatnya hingga validitas sesi berakhir atau pengguna tersebut logout. |
uid | ID Pengguna | ID unik pengguna, antara 1-36 karakter. |
tenant_id | ID Tenant | ID tenant yang digunakan pengguna untuk login. |
klaim (opsional) | Klaim kustom opsional yang akan disertakan dalam variabel Aturan Keamanan auth atau request.auth . |
Nama Properti | Jenis | Deskripsi |
---|---|---|
idToken | string | Token ID Identity Platform yang dibuat dari token kustom yang disediakan. |
refreshToken | string | Token refresh Identity Platform yang dibuat dari token kustom yang disediakan. |
expiresIn | string | Jumlah detik saat token ID berakhir. |
Contoh permintaan
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"token":"[CUSTOM_TOKEN]","returnSecureToken":true}'
Permintaan yang berhasil ditunjukkan dengan kode status HTTP 200 OK
. Responsnya berisi token ID Identity Platform dan token refresh yang terkait dengan token kustom.
Contoh respons
{ "idToken": "[ID_TOKEN]", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600" }
Kode error umum
- INVALID_CUSTOM_TOKEN: Format token kustom salah atau token tidak valid karena beberapa alasan (misalnya sudah tidak berlaku, tanda tangan tidak valid, dll.)
- CREDENTIAL_MISMATCH: Token kustom sesuai dengan project Google Cloud lain.
Tukar token refresh dengan token ID
Anda dapat memperbarui token ID Platform Identitas dengan mengajukan permintaan HTTP
POST
ke endpoint securetoken.googleapis.com
.
Metode: POST
Content-Type: application/x-www-form-urlencoded
Endpointhttps://securetoken.googleapis.com/v1/token?key=[API_KEY]
Nama Properti | Jenis | Deskripsi |
---|---|---|
grant_type | string | Jenis pemberian token refresh, selalu "refresh_token". |
refresh_token | string | Token refresh Identity Platform. |
Nama Properti | Jenis | Deskripsi |
---|---|---|
expires_in | string | Jumlah detik saat token ID berakhir. |
token_type | string | Jenis token refresh, selalu "Bearer". |
refresh_token | string | Token refresh Identity Platform yang disediakan dalam permintaan atau token refresh baru. |
id_token | string | Token ID Identity Platform. |
user_id | string | Uid yang sesuai dengan token ID yang disediakan. |
project_id | string | ID Project Google Cloud Anda. |
Contoh permintaan
curl 'https://securetoken.googleapis.com/v1/token?key=[API_KEY]' \ -H 'Content-Type: application/x-www-form-urlencoded' \ --data 'grant_type=refresh_token&refresh_token=[REFRESH_TOKEN]'
Permintaan yang berhasil ditunjukkan dengan kode status HTTP 200 OK
. Responsnya berisi token ID Identity Platform dan token refresh yang baru.
Contoh respons
{ "expires_in": "3600", "token_type": "Bearer", "refresh_token": "[REFRESH_TOKEN]", "id_token": "[ID_TOKEN]", "user_id": "tRcfmLH7o2XrNELi...", "project_id": "1234567890" }
Kode error umum
- TOKEN_EXPIRED: Kredensial pengguna tidak lagi valid. Pengguna harus login lagi.
- USER_DISABLED: Akun pengguna telah dinonaktifkan oleh administrator.
- USER_NOT_FOUND: Pengguna yang sesuai dengan token refresh tidak ditemukan. Sepertinya pengguna telah dihapus.
- Kunci API tidak valid. Teruskan kunci API yang valid. (kunci API yang diberikan tidak valid)
- INVALID_REFRESH_TOKEN: Token refresh yang tidak valid diberikan.
- Payload JSON yang tidak valid diterima. Nama tidak diketahui \"refresh_tokens\": Tidak dapat mengikat parameter kueri. Kolom 'refresh_tokens' tidak dapat ditemukan dalam pesan permintaan.
- INVALID_GRANT_TYPE: Jenis pemberian yang ditentukan tidak valid.
- INVALID_REFRESH_TOKEN: Tidak ada token pembaruan yang disediakan.
- PROJECT_NUMBER_MISMATCH: Nomor project token refresh tidak cocok dengan nomor kunci API yang diberikan.
Daftar dengan email / sandi
Anda dapat membuat pengguna email dan sandi baru dengan mengajukan permintaan HTTP POST
ke endpoint signupNewUser
Auth.
Metode: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Nama Properti | Jenis | Deskripsi |
---|---|---|
string | Email yang akan dibuat pengguna. | |
sandi | string | Sandi yang akan dibuat oleh pengguna. |
returnSecureToken | boolean | Apakah akan menampilkan ID dan token refresh atau tidak. Harus selalu benar. |
tenantId | string | ID tenant pengguna yang akan dibuat. Hanya digunakan dalam multi-tenancy. |
Nama Properti | Jenis | Deskripsi |
---|---|---|
idToken | string | Token ID Platform Identitas untuk pengguna yang baru dibuat. |
string | Email untuk pengguna yang baru dibuat. | |
refreshToken | string | Token refresh Identity Platform untuk pengguna yang baru dibuat. |
expiresIn | string | Jumlah detik saat token ID berakhir. |
localId | string | Uid pengguna yang baru dibuat. |
Contoh permintaan
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"email":"[user@example.com]","password":"[PASSWORD]","returnSecureToken":true}'
Permintaan yang berhasil ditunjukkan dengan kode status HTTP 200 OK
. Responsnya berisi token ID Identity Platform dan token refresh yang terkait dengan akun baru.
Contoh respons
{ "idToken": "[ID_TOKEN]", "email": "[user@example.com]", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "localId": "tRcfmLH7..." }
Kode error umum
- EMAIL_EXISTS: Alamat email sudah digunakan oleh akun lain.
- OPERATION_NOT_ALLOWED: Login sandi dinonaktifkan untuk project ini.
- TOO_MANY_TryS_TRY_LATER: Kami telah memblokir semua permintaan dari perangkat ini karena aktivitas yang tidak biasa. Coba lagi nanti.
Login dengan email / sandi
Anda dapat memproses login pengguna menggunakan email dan sandi dengan mengajukan permintaan HTTP POST
ke endpoint verifyPassword
Auth.
Metode: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
Nama Properti | Jenis | Deskripsi |
---|---|---|
string | Email yang digunakan pengguna untuk login. | |
sandi | string | Sandi untuk akun. |
returnSecureToken | boolean | Apakah akan menampilkan ID dan token refresh atau tidak. Harus selalu benar. |
tenantId | string | ID tenant yang digunakan pengguna untuk login. Hanya digunakan dalam multi-tenancy. |
Nama Properti | Jenis | Deskripsi |
---|---|---|
idToken | string | Token ID Identity Platform untuk pengguna yang diautentikasi. |
string | Email untuk pengguna yang diautentikasi. | |
refreshToken | string | Token refresh Identity Platform untuk pengguna yang diautentikasi. |
expiresIn | string | Jumlah detik saat token ID berakhir. |
localId | string | Uid pengguna terautentikasi. |
terdaftar | boolean | Apakah email tersebut ditujukan untuk akun yang sudah ada. |
Contoh permintaan
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"email":"[user@example.com]","password":"[PASSWORD]","returnSecureToken":true}'
Permintaan yang berhasil ditunjukkan dengan kode status HTTP 200 OK
. Respons berisi token ID Identity Platform dan token refresh yang terkait dengan akun email/sandi yang sudah ada.
Contoh respons
{ "localId": "ZY1rJK0eYLg...", "email": "[user@example.com]", "displayName": "", "idToken": "[ID_TOKEN]", "registered": true, "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600" }
Kode error umum
- EMAIL_NOT_FOUND: Tidak ada catatan pengguna yang sesuai dengan ID ini. Pengguna mungkin telah dihapus.
- INVALID_PASSWORD: Sandi tidak valid atau pengguna tidak memiliki sandi.
- USER_DISABLED: Akun pengguna telah dinonaktifkan oleh administrator.
Login secara anonim
Anda dapat memproses login pengguna secara anonim dengan mengajukan permintaan HTTP POST
ke endpoint signupNewUser
Auth.
Metode: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Nama Properti | Jenis | Deskripsi |
---|---|---|
returnSecureToken | boolean | Apakah akan menampilkan ID dan token refresh atau tidak. Harus selalu benar. |
tenantId | string | ID tenant yang digunakan pengguna untuk login. Hanya digunakan dalam multi-tenancy. |
Nama Properti | Jenis | Deskripsi |
---|---|---|
idToken | string | Token ID Platform Identitas untuk pengguna yang baru dibuat. |
string | Karena pengguna bersifat anonim, kolom ini harus dikosongkan. | |
refreshToken | string | Token refresh Identity Platform untuk pengguna yang baru dibuat. |
expiresIn | string | Jumlah detik saat token ID berakhir. |
localId | string | Uid pengguna yang baru dibuat. |
Contoh permintaan
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"returnSecureToken":true}'
Permintaan yang berhasil ditunjukkan dengan kode status HTTP 200 OK
. Responsnya berisi token ID Identity Platform dan token refresh yang terkait dengan pengguna anonim.
Contoh respons
{ "idToken": "[ID_TOKEN]", "email": "", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "localId": "Jws4SVjpT..." }
Kode error umum
- OPERATION_NOT_ALLOWED: Login pengguna anonim dinonaktifkan untuk project ini.
Login dengan kredensial OAuth
Anda dapat memproses login pengguna menggunakan kredensial OAuth dengan mengeluarkan permintaan HTTP POST
ke endpoint verifyAssertion
Auth.
Metode: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Nama Properti | Jenis | Deskripsi |
---|---|---|
requestUri | string | URI yang IDP mengalihkan kembali pengguna. |
postBody | string | Berisi kredensial OAuth (token ID atau token akses) dan ID penyedia yang mengeluarkan kredensial. |
returnSecureToken | boolean | Apakah akan menampilkan ID dan token refresh atau tidak. Harus selalu benar. |
returnIdpCredential | boolean | Apakah ingin mengembalikan kredensial OAuth secara paksa pada error berikut: FEDERATED_USER_ID_ALREADY_LINKED dan EMAIL_EXISTS. |
tenantId | string | ID tenant yang digunakan pengguna untuk login. Hanya digunakan dalam multi-tenancy. |
Nama Properti | Jenis | Deskripsi |
---|---|---|
federatedId | string | ID unik mengidentifikasi akun IdP. |
providerId | string | ID penyedia yang terhubung (misalnya "google.com" untuk penyedia Google). |
localId | string | Uid pengguna terautentikasi. |
emailVerified | boolean | Apakah email login telah diverifikasi. |
string | Email akun. | |
oauthIdToken | string | Token ID OIDC jika tersedia. |
oauthAccessToken | string | Token akses OAuth jika tersedia. |
oauthTokenSecret | string | Rahasia token OAuth 1.0 jika tersedia. |
rawUserInfo | string | Respons JSON string yang berisi semua data IdP yang sesuai dengan kredensial OAuth yang diberikan. |
firstName | string | Nama depan akun. |
lastName | string | Nama belakang akun. |
fullName | string | Nama lengkap akun. |
displayName | string | Nama tampilan akun. |
photoUrl | string | URL foto untuk akun. |
idToken | string | Token ID Identity Platform untuk pengguna yang diautentikasi. |
refreshToken | string | Token refresh Identity Platform untuk pengguna yang diautentikasi. |
expiresIn | string | Jumlah detik saat token ID berakhir. |
needConfirmation | boolean | Apakah akun lain dengan kredensial yang sama sudah ada. Pengguna harus login ke akun asli, lalu menautkan kredensial saat ini ke akun asli 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
. Respons berisi token ID Identity Platform dan token refresh yang terkait dengan pengguna terautentikasi.
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
. Respons berisi token ID Identity Platform dan token refresh yang terkait dengan pengguna terautentikasi.
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 OAuth 1.0 Twitter
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
. Respons berisi token ID Identity Platform dan token refresh yang terkait dengan pengguna terautentikasi.
Contoh respons dengan kredensial OAuth 1.0 Twitter
{ "federatedId": "http://twitter.com/1234567890", "providerId": "twitter.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthAccessToken": "[OAUTH_ACCESS_TOKEN]", "oauthTokenSecret": "[OAUTH_TOKEN_SECRET]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "http://abs.twimg.com/sticky/...", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Kode error umum
- OPERATION_NOT_ALLOWED: Penyedia yang sesuai dinonaktifkan untuk project ini.
- INVALID_IDP_RESPONSE: Format kredensial autentikasi yang diberikan salah atau sudah tidak berlaku.
Mengambil penyedia untuk email
Anda dapat melihat semua penyedia yang terkait dengan email tertentu dengan mengeluarkan permintaan HTTP POST
ke endpoint createAuthUri
Auth.
Metode: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
Nama Properti | Jenis | Deskripsi |
---|---|---|
ID | string | Alamat email pengguna |
continueUri | string | URI yang IDP mengalihkan kembali pengguna. Untuk kasus penggunaan ini, ini hanya URL saat ini. |
tenantId | string | ID tenant yang digunakan pengguna untuk login. Hanya digunakan dalam multi-tenancy. |
Nama Properti | Jenis | Deskripsi |
---|---|---|
allProviders | Daftar string | Daftar penyedia yang sebelumnya digunakan pengguna untuk login. |
terdaftar | boolean | Apakah email tersebut ditujukan untuk akun yang sudah ada |
Contoh permintaan
curl 'https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"identifier":"[user@example.com]","continueUri":"[http://localhost:8080/app]"}'
Permintaan yang berhasil ditunjukkan dengan kode status HTTP 200 OK
. Respons akan berisi daftar penyedia yang terkait dengan email.
Contoh respons
{ "allProviders": [ "password", "google.com" ], "registered": true }
Kode error umum
- INVALID_EMAIL: Format alamat email tidak benar.
Kirim email reset sandi
Anda dapat mengirim email reset sandi dengan mengajukan permintaan HTTP POST
ke endpoint getOobConfirmationCode
Auth.
Metode: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Nama Properti | Deskripsi |
---|---|
X-Firebase-Lokal | Kode bahasa yang sesuai dengan lokalitas pengguna. Meneruskan ini akan melokalkan email reset sandi yang dikirimkan kepada pengguna. |
Nama Properti | Jenis | Deskripsi |
---|---|---|
requestType | string | Jenis kode OOB yang akan ditampilkan. Harus "PASSWORD_RESET" untuk reset sandi. |
string | Alamat email pengguna. | |
tenantId | string | ID tenant pengguna yang meminta reset sandi. Hanya digunakan dalam multi-tenancy. |
Nama Properti | Jenis | Deskripsi |
---|---|---|
string | Alamat email pengguna. |
Contoh permintaan
curl 'https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"requestType":"PASSWORD_RESET","email":"[user@example.com]"}'
Permintaan yang berhasil ditunjukkan dengan kode status HTTP 200 OK
.
Contoh respons
{ "email": "[user@example.com]" }
Kode error umum
- EMAIL_NOT_FOUND: Tidak ada catatan pengguna yang sesuai dengan ID ini. Pengguna mungkin telah dihapus.
Memverifikasi kode reset sandi
Anda dapat memverifikasi kode reset sandi dengan mengajukan permintaan HTTP POST
ke endpoint resetPassword
Auth.
Metode: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Nama Properti | Jenis | Deskripsi |
---|---|---|
oobCode | string | Kode tindakan email yang dikirim ke email pengguna untuk mereset sandi. |
tenantId | string | ID tenant pengguna yang meminta reset sandi. Hanya digunakan dalam multi-tenancy. |
Nama Properti | Jenis | Deskripsi |
---|---|---|
string | Alamat email pengguna. | |
requestType | string | Jenis kode tindakan email. Harus "PASSWORD_RESET". |
Contoh permintaan
curl 'https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"oobCode":"[PASSWORD_RESET_CODE]"}'
Permintaan yang berhasil ditunjukkan dengan kode status HTTP 200 OK
.
Contoh respons
{ "email": "[user@example.com]", "requestType": "PASSWORD_RESET" }
Kode error umum
- OPERATION_NOT_ALLOWED: Login sandi dinonaktifkan untuk project ini.
- EXPIRED_OOB_CODE: Kode tindakan telah kedaluwarsa.
- INVALID_OOB_CODE: Kode tindakan tidak valid. Hal ini dapat terjadi jika kode salah format, sudah tidak berlaku, atau sudah digunakan.
Konfirmasi reset sandi
Anda dapat menerapkan perubahan reset sandi dengan mengajukan permintaan HTTP POST
ke endpoint resetPassword
Auth.
Metode: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Nama Properti | Jenis | Deskripsi |
---|---|---|
oobCode | string | Kode tindakan email yang dikirim ke email pengguna untuk mereset sandi. |
newPassword | string | Sandi baru pengguna. |
tenantId | string | ID tenant pengguna yang meminta reset sandi. Hanya digunakan dalam multi-tenancy. |
Nama Properti | Jenis | Deskripsi |
---|---|---|
string | Alamat email pengguna. | |
requestType | string | Jenis kode tindakan email. Harus "PASSWORD_RESET". |
Contoh permintaan
curl 'https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"oobCode":"[PASSWORD_RESET_CODE]","newPassword":"[NEW_PASSWORD]"}'
Permintaan yang berhasil ditunjukkan dengan kode status HTTP 200 OK
.
Contoh respons
{ "email": "[user@example.com]", "requestType": "PASSWORD_RESET" }
Kode error umum
- OPERATION_NOT_ALLOWED: Login sandi dinonaktifkan untuk project ini.
- EXPIRED_OOB_CODE: Kode tindakan telah kedaluwarsa.
- INVALID_OOB_CODE: Kode tindakan tidak valid. Hal ini dapat terjadi jika kode salah format, sudah tidak berlaku, atau sudah digunakan.
- USER_DISABLED: Akun pengguna telah dinonaktifkan oleh administrator.
Ubah email
Anda dapat mengubah email pengguna dengan mengajukan permintaan HTTP POST
ke endpoint setAccountInfo
Auth.
Metode: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nama Properti | Deskripsi |
---|---|
X-Firebase-Lokal | Kode bahasa yang sesuai dengan lokalitas pengguna. Meneruskan ini akan melokalkan pencabutan perubahan email yang dikirim ke pengguna. |
Nama Properti | Jenis | Deskripsi |
---|---|---|
idToken | string | Token ID Platform Identitas untuk pengguna. |
string | Email baru pengguna. | |
returnSecureToken | boolean | Apakah akan menampilkan ID dan token refresh atau tidak. |
Nama Properti | Jenis | Deskripsi |
---|---|---|
localId | string | Uid pengguna saat ini. |
string | Alamat email pengguna. | |
passwordHash | string | Versi hash sandi. |
providerUserInfo | Daftar objek JSON | Daftar semua objek penyedia tertaut yang berisi "providerId" dan "federatedId". |
idToken | string | Token ID Identity Platform baru untuk pengguna. |
refreshToken | string | Token refresh Identity Platform. |
expiresIn | string | Jumlah detik saat token ID berakhir. |
Contoh permintaan
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[GCIP_ID_TOKEN]","email":"[user@example2.com]","returnSecureToken":true}'
Permintaan yang berhasil ditunjukkan dengan kode status HTTP 200 OK
. Respons berisi token ID Platform Identitas baru dan token refresh yang terkait dengan pengguna.
Contoh respons
{ "localId": "tRcfmLH7o2...", "email": "[user@example2.com]", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "[user@example2.com]" } ], "idToken": "[NEW_ID_TOKEN]", "refreshToken": "[NEW_REFRESH_TOKEN]", "expiresIn": "3600" }
Kode error umum
- EMAIL_EXISTS: Alamat email sudah digunakan oleh akun lain.
- INVALID_ID_TOKEN:Kredensial pengguna tidak lagi valid. Pengguna harus login lagi.
Ubah sandi
Anda dapat mengubah sandi pengguna dengan mengajukan permintaan HTTP POST
ke endpoint setAccountInfo
Auth.
Metode: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nama Properti | Jenis | Deskripsi |
---|---|---|
idToken | string | Token ID Platform Identitas untuk pengguna. |
sandi | string | Sandi baru pengguna. |
returnSecureToken | boolean | Apakah akan menampilkan ID dan token refresh atau tidak. |
Nama Properti | Jenis | Deskripsi |
---|---|---|
localId | string | Uid pengguna saat ini. |
string | Alamat email pengguna. | |
passwordHash | string | Versi hash sandi. |
providerUserInfo | Daftar objek JSON | Daftar semua objek penyedia tertaut yang berisi "providerId" dan "federatedId". |
idToken | string | Token ID Identity Platform baru untuk pengguna. |
refreshToken | string | Token refresh Identity Platform. |
expiresIn | string | Jumlah detik saat token ID berakhir. |
Contoh permintaan
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[GCIP_ID_TOKEN]","password":"[NEW_PASSWORD]","returnSecureToken":true}'
Permintaan yang berhasil ditunjukkan dengan kode status HTTP 200 OK
. Respons berisi token ID Platform Identitas baru dan token refresh yang terkait dengan pengguna.
Contoh respons
{ "localId": "tRcfmLH7o2...", "email": "[user@example.com]", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "[user@example.com]" } ], "idToken": "[NEW_ID_TOKEN]", "refreshToken": "[NEW_REFRESH_TOKEN]", "expiresIn": "3600" }
Kode error umum
- INVALID_ID_TOKEN:Kredensial pengguna tidak lagi valid. Pengguna harus login lagi.
- WEAK_PASSWORD: Panjang sandi harus 6 karakter atau lebih.
Memperbarui profil
Anda dapat memperbarui profil pengguna (nama tampilan / URL foto) dengan mengajukan permintaan HTTP
POST
ke endpoint setAccountInfo
Auth.
Metode: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nama Properti | Jenis | Deskripsi |
---|---|---|
idToken | string | Token ID Platform Identitas untuk pengguna. |
displayName | string | Nama tampilan baru pengguna. |
photoUrl | string | URL foto baru pengguna. |
deleteAttribute | Daftar string | Daftar atribut yang akan dihapus, "DISPLAY_NAME" atau "PHOTO_URL". Tindakan ini akan menghapus nilai ini. |
returnSecureToken | boolean | Apakah akan menampilkan ID dan token refresh atau tidak. |
Nama Properti | Jenis | Deskripsi |
---|---|---|
localId | string | Uid pengguna saat ini. |
string | Alamat email pengguna. | |
displayName | string | Nama tampilan baru pengguna. |
photoUrl | string | URL foto baru pengguna. |
passwordHash | string | Versi hash sandi. |
providerUserInfo | Daftar objek JSON | Daftar semua objek penyedia tertaut yang berisi "providerId" dan "federatedId". |
idToken | string | Token ID Identity Platform baru untuk pengguna. |
refreshToken | string | Token refresh Identity Platform. |
expiresIn | string | Jumlah detik saat token ID berakhir. |
Contoh permintaan
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[ID_TOKEN]","displayName":"[NAME]","photoUrl":"[URL]","returnSecureToken":true}'
Permintaan yang berhasil ditunjukkan dengan kode status HTTP 200 OK
.
Contoh respons
{ "localId": "tRcfmLH...", "email": "user@example2.com", "displayName": "John Doe", "photoUrl": "[http://localhost:8080/img1234567890/photo.png]", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "user@example2.com", "displayName": "John Doe", "photoUrl": "http://localhost:8080/img1234567890/photo.png" } ], "idToken": "[NEW_ID_TOKEN]", "refreshToken": "[NEW_REFRESH_TOKEN]", "expiresIn": "3600" }
Kode error umum
- INVALID_ID_TOKEN:Kredensial pengguna tidak lagi valid. Pengguna harus login lagi.
Mendapatkan data pengguna
Anda bisa mendapatkan data pengguna dengan mengeluarkan permintaan HTTP POST
ke endpoint getAccountInfo
Auth.
Metode: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
Nama Properti | Jenis | Deskripsi |
---|---|---|
idToken | string | Token ID Platform Identitas akun. |
Nama Properti | Jenis | Deskripsi |
---|---|---|
pengguna | Daftar objek JSON | Akun yang terkait dengan token ID Identity Platform yang diberikan. Lihat di bawah untuk detail selengkapnya. |
users
)
Nama Properti | Jenis | Deskripsi |
---|---|---|
localId | string | Uid pengguna saat ini. |
string | Email akun. | |
emailVerified | boolean | Apakah email akun telah diverifikasi atau belum. |
displayName | string | Nama tampilan akun. |
providerUserInfo | Daftar objek JSON | Daftar semua objek penyedia tertaut yang berisi "providerId" dan "federatedId". |
photoUrl | string | URL foto untuk akun. |
passwordHash | string | Versi hash sandi. |
passwordUpdatedAt | double | Stempel waktu, dalam milidetik, saat sandi akun terakhir diubah. |
validSince | string | Stempel waktu, dalam detik, yang menandai batas, sebelum token ID Identity Platform dianggap dicabut. |
dinonaktifkan | boolean | Apakah akun dinonaktifkan atau tidak. |
lastLoginAt | string | Stempel waktu, dalam milidetik, saat akun terakhir kali login. |
createdAt | string | Stempel waktu, dalam milidetik, saat akun dibuat. |
customAuth | boolean | Apakah akun diautentikasi oleh developer. |
tenantId | string | ID tenant pengguna. Hanya ditampilkan dalam multi-tenancy. |
Contoh permintaan
curl 'https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"idToken":"[GCIP_ID_TOKEN]"}'
Permintaan yang berhasil ditunjukkan dengan kode status HTTP 200 OK
. Responsnya akan berisi semua informasi pengguna yang terkait dengan akun.
Contoh respons
{ "users": [ { "localId": "ZY1rJK0...", "email": "user@example.com", "emailVerified": false, "displayName": "John Doe", "providerUserInfo": [ { "providerId": "password", "displayName": "John Doe", "photoUrl": "http://localhost:8080/img1234567890/photo.png", "federatedId": "user@example.com", "email": "user@example.com", "rawId": "user@example.com", "screenName": "user@example.com" } ], "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "passwordHash": "...", "passwordUpdatedAt": 1.484124177E12, "validSince": "1484124177", "disabled": false, "lastLoginAt": "1484628946000", "createdAt": "1484124142000", "customAuth": false } ] }
Kode error umum
- INVALID_ID_TOKEN:Kredensial pengguna tidak lagi valid. Pengguna harus login lagi.
- USER_NOT_FOUND: Tidak ada catatan pengguna yang sesuai dengan ID ini. Pengguna mungkin telah dihapus.
Tautkan dengan email/sandi
Anda dapat menautkan email/sandi ke pengguna saat ini dengan mengajukan permintaan HTTP POST
ke endpoint setAccountInfo
Auth.
Metode: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nama Properti | Jenis | Deskripsi |
---|---|---|
idToken | string | Token ID Identity Platform dari akun yang Anda coba tautkan dengan kredensial. |
string | Email yang akan ditautkan ke akun. | |
sandi | string | Sandi baru akun. |
returnSecureToken | string | Apakah akan menampilkan ID dan token refresh atau tidak. Harus selalu benar. |
Nama Properti | Jenis | Deskripsi |
---|---|---|
localId | string | Uid pengguna saat ini. |
string | Email akun. | |
displayName | string | Nama tampilan akun. |
photoUrl | string | URL foto untuk akun. |
passwordHash | string | Versi hash sandi. |
providerUserInfo | Daftar objek JSON | Daftar semua objek penyedia tertaut yang berisi "providerId" dan "federatedId". |
emailVerified | boolean | Apakah email akun telah diverifikasi atau belum. |
idToken | string | Token ID Identity Platform baru untuk pengguna. |
refreshToken | string | Token refresh Identity Platform. |
expiresIn | string | Jumlah detik saat token ID berakhir. |
Contoh permintaan
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[ID_TOKEN]","email":"[user@example.com]","password":"[PASS]","returnSecureToken":true}'
Permintaan yang berhasil ditunjukkan dengan kode status HTTP 200 OK
. Respons berisi token ID Identity Platform dan token refresh yang terkait dengan pengguna terautentikasi.
Contoh respons
{ "localId": "huDwUz...", "email": "user@example.com", "displayName": "John Doe", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "user@example.com" } ], "idToken": "[ID_TOKEN]", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "emailVerified": false }
Kode error umum
- CREDENTIAL_TOO_OLD_LOGIN_AGAIN: Kredensial pengguna sudah tidak valid. Pengguna harus login lagi.
- TOKEN_EXPIRED: Kredensial pengguna tidak lagi valid. Pengguna harus login lagi.
- INVALID_ID_TOKEN:Kredensial pengguna tidak lagi valid. Pengguna harus login lagi.
- WEAK_PASSWORD: Panjang sandi harus 6 karakter atau lebih.
Menautkan dengan kredensial OAuth
Anda dapat menautkan kredensial OAuth ke pengguna dengan mengeluarkan permintaan HTTP POST
ke endpoint verifyAssertion
Auth.
Metode: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Nama Properti | Jenis | Deskripsi |
---|---|---|
idToken | string | Token ID Identity Platform dari akun yang Anda coba tautkan dengan kredensial. |
requestUri | string | URI yang IDP mengalihkan kembali pengguna. |
postBody | string | Berisi kredensial OAuth (token ID atau token akses) dan ID penyedia yang mengeluarkan kredensial. |
returnSecureToken | boolean | Apakah akan menampilkan ID dan token refresh atau tidak. Harus selalu benar. |
returnIdpCredential | boolean | Apakah ingin mengembalikan kredensial OAuth secara paksa pada error berikut: FEDERATED_USER_ID_ALREADY_LINKED dan EMAIL_EXISTS. |
Nama Properti | Jenis | Deskripsi |
---|---|---|
federatedId | string | ID unik mengidentifikasi akun IdP. |
providerId | string | ID penyedia yang terhubung (misalnya "google.com" untuk penyedia Google). |
localId | string | Uid pengguna terautentikasi. |
emailVerified | boolean | Apakah email login telah diverifikasi. |
string | Email akun. | |
oauthIdToken | string | Token ID OIDC jika tersedia. |
oauthAccessToken | string | Token akses OAuth jika tersedia. |
oauthTokenSecret | string | Rahasia token OAuth 1.0 jika tersedia. |
rawUserInfo | string | Respons JSON string yang berisi semua data IdP yang sesuai dengan kredensial OAuth yang diberikan. |
firstName | string | Nama depan akun. |
lastName | string | Nama belakang akun. |
fullName | string | Nama lengkap akun. |
displayName | string | Nama tampilan akun. |
photoUrl | string | URL foto untuk akun. |
idToken | string | Token ID Identity Platform untuk pengguna yang diautentikasi. |
refreshToken | string | Token refresh Identity Platform untuk pengguna yang diautentikasi. |
expiresIn | string | Jumlah detik saat token ID berakhir. |
Contoh permintaan dengan token ID OAuth
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"id_token=[GOOGLE_ID_TOKEN]&providerId=[google.com]","requestUri":"[http://localhost]","idToken":"[GCIP_ID_TOKEN]","returnIdpCredential":true,"returnSecureToken":true}'
Permintaan yang berhasil ditunjukkan dengan kode status HTTP 200 OK
. Respons berisi token ID Identity Platform dan token refresh yang terkait dengan pengguna terautentikasi.
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":"[GCIP_ID_TOKEN]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
Permintaan yang berhasil ditunjukkan dengan kode status HTTP 200 OK
. Respons berisi token ID Identity Platform dan token refresh yang terkait dengan pengguna terautentikasi.
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 OAuth 1.0 Twitter
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":"[GCIP_ID_TOKEN]","returnIdpCredential":true,"returnSecureToken":true}'
Permintaan yang berhasil ditunjukkan dengan kode status HTTP 200 OK
. Respons berisi token ID Identity Platform dan token refresh yang terkait dengan pengguna terautentikasi.
Contoh respons dengan kredensial OAuth 1.0 Twitter
{ "federatedId": "http://twitter.com/1234567890", "providerId": "twitter.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthAccessToken": "[OAUTH_ACCESS_TOKEN]", "oauthTokenSecret": "[OAUTH_TOKEN_SECRET]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "http://abs.twimg.com/sticky/...", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Kode error umum
- OPERATION_NOT_ALLOWED: Penyedia yang sesuai dinonaktifkan untuk project ini.
- INVALID_IDP_RESPONSE: Format kredensial autentikasi yang diberikan salah atau sudah tidak berlaku.
- INVALID_ID_TOKEN:Kredensial pengguna tidak lagi valid. Pengguna harus login lagi.
- EMAIL_EXISTS: Alamat email sudah digunakan oleh akun lain.
- FEDERATED_USER_ID_ALREADY_LINKED: Kredensial ini sudah dikaitkan dengan akun pengguna lain.
Batalkan tautan penyedia
Anda dapat membatalkan tautan penyedia dari pengguna saat ini dengan mengeluarkan permintaan HTTP POST
ke endpoint setAccountInfo
Auth.
Metode: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nama Properti | Jenis | Deskripsi |
---|---|---|
idToken | string | Token ID Platform Identitas akun. |
deleteProvider | Daftar string | Daftar ID penyedia yang akan dibatalkan tautannya, misalnya: 'google.com', 'password', dll. |
Nama Properti | Jenis | Deskripsi |
---|---|---|
localId | string | Uid pengguna saat ini. |
string | Email akun. | |
displayName | string | Nama tampilan akun. |
photoUrl | string | URL foto untuk akun. |
passwordHash | string | Versi hash sandi. |
providerUserInfo | Daftar objek JSON | Daftar semua objek penyedia tertaut yang berisi "providerId" dan "federatedId". |
emailVerified | boolean | Apakah email akun telah diverifikasi atau belum. |
Contoh permintaan
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"idToken":"[GCIP_ID_TOKEN]","deleteProvider":["[facebook.com]"]}'
Permintaan yang berhasil ditunjukkan dengan kode status HTTP 200 OK
.
Contoh respons
{ "localId": "huDwUz...", "email": "user@example.com", "displayName": "John Doe", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "passwordHash": "...", "providerUserInfo": [ { "providerId": "google.com", "federatedId": "1234567890", "displayName": "John Doe", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg" }, { "providerId": "password", "federatedId": "user@example.com" } ], "emailVerified": "true" }
Kode error umum
- INVALID_ID_TOKEN: Kredensial pengguna tidak lagi valid. Pengguna harus login lagi.
Kirim verifikasi email
Anda dapat mengirim verifikasi email untuk pengguna saat ini dengan mengeluarkan permintaan HTTP POST
ke endpoint getOobConfirmationCode
Auth.
Metode: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Nama Properti | Deskripsi |
---|---|
X-Firebase-Lokal | Kode bahasa yang sesuai dengan lokalitas pengguna. Meneruskan ini akan melokalkan verifikasi email yang dikirim kepada pengguna. |
Nama Properti | Jenis | Deskripsi |
---|---|---|
requestType | string | Jenis kode konfirmasi yang akan dikirim. Harus selalu "VERIFIKASI_EMAIL". |
idToken | string | Token ID Platform Identitas pengguna yang akan diverifikasi. |
Nama Properti | Jenis | Deskripsi |
---|---|---|
string | Email akun. |
Contoh permintaan
curl 'https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"requestType":"VERIFY_EMAIL","idToken":"[GCIP_ID_TOKEN]"}'
Permintaan yang berhasil ditunjukkan dengan kode status HTTP 200 OK
.
Contoh respons
{ "email": "user@example.com" }
Kode error umum
- INVALID_ID_TOKEN: Kredensial pengguna tidak lagi valid. Pengguna harus login lagi.
- USER_NOT_FOUND: Tidak ada catatan pengguna yang sesuai dengan ID ini. Pengguna mungkin telah dihapus.
Konfirmasi verifikasi email
Anda dapat mengonfirmasi kode verifikasi email dengan mengajukan permintaan HTTP POST
ke endpoint setAccountInfo
Auth.
Metode: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nama Properti | Jenis | Deskripsi |
---|---|---|
oobCode | string | Kode tindakan yang dikirim ke email pengguna untuk verifikasi email. |
tenantId | string | ID tenant pengguna yang memverifikasi email. Hanya digunakan dalam multi-tenancy. |
Nama Properti | Jenis | Deskripsi |
---|---|---|
string | Email akun. | |
displayName | string | Nama tampilan akun. |
photoUrl | string | URL foto untuk akun. |
passwordHash | string | Hash sandi. |
providerUserInfo | Daftar objek JSON | Daftar semua objek penyedia tertaut yang berisi "providerId" dan "federatedId". |
emailVerified | boolean | Apakah email akun telah diverifikasi atau belum. |
Contoh permintaan
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"oobCode":"[VERIFICATION_CODE]"}'
Permintaan yang berhasil ditunjukkan dengan kode status HTTP 200 OK
.
Contoh respons
{ "localId": "FhyStE...", "email": "user@example.com", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "user@example.com" } ] }
Kode error umum
- EXPIRED_OOB_CODE: Kode tindakan telah kedaluwarsa.
- INVALID_OOB_CODE: Kode tindakan tidak valid. Hal ini dapat terjadi jika kode salah format, sudah tidak berlaku, atau sudah digunakan.
- USER_DISABLED: Akun pengguna telah dinonaktifkan oleh administrator.
- EMAIL_NOT_FOUND: Tidak ada catatan pengguna yang sesuai dengan ID ini. Pengguna mungkin telah dihapus.
Hapus akun
Anda dapat menghapus pengguna saat ini dengan mengajukan permintaan HTTP POST
ke endpoint deleteAccount
Auth.
Metode: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
Nama Properti | Jenis | Deskripsi |
---|---|---|
idToken | string | Token ID Platform Identitas pengguna yang akan dihapus. |
Nama Properti | Jenis | Deskripsi |
---|
Contoh permintaan
curl 'https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"idToken":"[GCIP_ID_TOKEN]"}'
Permintaan yang berhasil ditunjukkan dengan kode status HTTP 200 OK
.
Kode error umum
- INVALID_ID_TOKEN:Kredensial pengguna tidak lagi valid. Pengguna harus login lagi.
- USER_NOT_FOUND: Tidak ada catatan pengguna yang sesuai dengan ID ini. Pengguna mungkin telah dihapus.
Menangani error
Berikut adalah contoh error umum yang ditampilkan oleh Identity Platform:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "invalid",
"message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN"
}
],
"code": 400,
"message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN"
}
}
Dapatkan kode error dari kolom message
.