Menggunakan REST API
Dokumen ini menunjukkan cara melakukan operasi pengguna umum, seperti login pengguna 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 Penyedia Identitas di konsol Google Cloud.
Buka halaman Penyedia IdentitasKlik Detail penyiapan aplikasi.
Salin kolom
apiKey
.
Perhatikan bahwa HTTPS diperlukan untuk semua panggilan API.
Memanggil API
Menukar token kustom dengan ID dan token refresh
Anda dapat menukarkan token Auth kustom dengan ID dan token refresh dengan mengeluarkan 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 token 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 | Algoritme | Harus berupa RS256 . |
iss | Penerbit | Alamat email akun layanan project Anda. |
sub | Subjek | Alamat email akun layanan project Anda. |
aud | Audiens | https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit |
iat | Waktu penerbitan | Waktu saat ini, dalam satuan 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, dengan panjang 1-36 karakter. |
tenant_id | ID Tenant | ID tenant yang digunakan pengguna untuk login. |
klaim (opsional) | Klaim kustom opsional yang akan disertakan dalam variabel auth atau request.auth Security Rules. |
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 masa berlaku token ID. |
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
. Respons berisi token ID dan token refresh Identity Platform 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 alasan tertentu (misalnya, sudah tidak berlaku, tanda tangan tidak valid, dll.)
- CREDENTIAL_MISMATCH: Token kustom sesuai dengan project Google Cloud yang berbeda.
Menukarkan token refresh dengan token ID
Anda dapat memperbarui token ID Identity Platform dengan mengeluarkan permintaan POST
HTTP 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 masa berlaku token ID. |
token_type | string | Jenis token refresh, selalu "Bearer". |
refresh_token | string | Token refresh Identity Platform yang diberikan dalam permintaan atau token refresh baru. |
id_token | string | Token ID Identity Platform. |
user_id | string | uid yang sesuai dengan token ID yang diberikan. |
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
. Respons berisi token ID dan token refresh Identity Platform 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. Kemungkinan pengguna tersebut telah dihapus.
- Kunci API tidak valid. Berikan kunci API yang valid. (kunci API yang diberikan tidak valid)
- INVALID_REFRESH_TOKEN: Token refresh yang diberikan tidak valid.
- Payload JSON yang diterima tidak valid. Nama \"refresh_tokens\" tidak diketahui: Tidak dapat mengikat parameter kueri. Kolom 'refresh_tokens' tidak dapat ditemukan dalam pesan permintaan.
- INVALID_GRANT_TYPE: Jenis pemberian yang ditentukan tidak valid.
- MISSING_REFRESH_TOKEN: Tidak ada token refresh yang diberikan.
- PROJECT_NUMBER_MISMATCH: Nomor project token refresh tidak cocok dengan nomor project kunci API yang diberikan.
Daftar dengan email / sandi
Anda dapat membuat pengguna email dan sandi baru dengan mengeluarkan permintaan HTTP POST
ke endpoint Auth signupNewUser
.
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 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 Identity Platform 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 masa berlaku token ID. |
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
. Respons berisi token ID dan token refresh Identity Platform yang terkait dengan akun baru.
Contoh respons
{ "idToken": "[ID_TOKEN]", "email": "[user@example.com]", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "localId": "tRcfmLH7..." }
Kode error umum
- EMAIL_EXISTS: Alamat email sudah digunakan oleh akun lain.
- OPERATION_NOT_ALLOWED: Login dengan sandi dinonaktifkan untuk project ini.
- TOO_MANY_ATTEMPTS_TRY_LATER: Kami telah memblokir semua permintaan dari perangkat ini karena ada aktivitas yang tidak biasa. Coba lagi nanti.
Login dengan email / sandi
Anda dapat memproses login pengguna dengan email dan sandi dengan mengeluarkan permintaan HTTP
POST
ke endpoint Auth verifyPassword
.
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 masa berlaku token ID. |
localId | string | uid pengguna yang diautentikasi. |
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 dan token refresh Identity Platform yang terkait
dengan akun email/sandi yang ada.
Contoh respons
{ "localId": "ZY1rJK0eYLg...", "email": "[user@example.com]", "displayName": "", "idToken": "[ID_TOKEN]", "registered": true, "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600" }
Kode error umum
- EMAIL_NOT_FOUND: Tidak ada data 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 mengeluarkan permintaan POST
HTTP 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 Identity Platform untuk pengguna yang baru dibuat. |
string | Karena pengguna bersifat anonim, kolom ini harus kosong. | |
refreshToken | string | Token refresh Identity Platform untuk pengguna yang baru dibuat. |
expiresIn | string | Jumlah detik masa berlaku token ID. |
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
. Respons berisi token ID dan token refresh Identity Platform 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 dengan kredensial OAuth dengan mengeluarkan permintaan HTTP POST
ke endpoint Auth verifyAssertion
.
Metode: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Nama Properti | Jenis | Deskripsi |
---|---|---|
requestUri | string | URI tempat IdP mengalihkan pengguna kembali. |
postBody | string | Berisi kredensial OAuth (token ID atau token akses) dan ID penyedia yang menerbitkan kredensial. |
returnSecureToken | boolean | Apakah akan menampilkan ID dan token refresh atau tidak. Harus selalu benar. |
returnIdpCredential | boolean | Apakah akan memaksa pengembalian kredensial OAuth pada error berikut: FEDERATED_USER_ID_ALREADY_LINKED dan EMAIL_EXISTS. |
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 yang diautentikasi. |
emailVerified | boolean | Apakah email login 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 yang di-stringify yang berisi semua data IdP yang sesuai dengan kredensial OAuth yang diberikan. |
firstName | string | Nama depan untuk akun. |
lastName | string | Nama belakang untuk akun. |
fullName | string | Nama lengkap untuk akun. |
displayName | string | Nama tampilan untuk 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 masa berlaku token ID. |
needConfirmation | boolean | Apakah sudah ada akun lain dengan kredensial yang sama. Pengguna harus login ke akun asli, lalu 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
. Respons berisi token ID dan token refresh Identity Platform 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
. Respons berisi token ID dan token refresh Identity Platform 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 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 dan token refresh Identity Platform yang terkait dengan pengguna yang diautentikasi.
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: Kredensial autentikasi yang diberikan salah formatnya atau sudah tidak berlaku.
Mengambil penyedia untuk email
Anda dapat melihat semua penyedia yang terkait dengan email tertentu dengan mengeluarkan permintaan POST
HTTP 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 tempat IdP mengalihkan pengguna kembali. Untuk kasus penggunaan ini, ini hanyalah 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 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 berisi daftar penyedia yang terkait dengan email.
Contoh respons
{ "allProviders": [ "password", "google.com" ], "registered": true }
Kode error umum
- INVALID_EMAIL: Format alamat email salah.
Mengirim email reset sandi
Anda dapat mengirim email reset sandi dengan mengeluarkan permintaan POST
HTTP 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-Locale | Kode bahasa yang sesuai dengan lokalitas pengguna. Meneruskan ini akan melokalkan email reset sandi yang dikirim ke 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 data pengguna yang sesuai dengan ID ini. Pengguna mungkin telah dihapus.
Memverifikasi kode reset sandi
Anda dapat memverifikasi kode reset sandi dengan mengeluarkan permintaan POST
HTTP 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 berupa "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 dengan sandi dinonaktifkan untuk project ini.
- EXPIRED_OOB_CODE: Masa berlaku kode tindakan telah berakhir.
- INVALID_OOB_CODE: Kode tindakan tidak valid. Hal ini dapat terjadi jika kode salah format, sudah tidak berlaku, atau sudah digunakan.
Mengonfirmasi reset sandi
Anda dapat menerapkan perubahan reset sandi dengan mengeluarkan permintaan POST
HTTP 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 berupa "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 dengan sandi dinonaktifkan untuk project ini.
- EXPIRED_OOB_CODE: Masa berlaku kode tindakan telah berakhir.
- INVALID_OOB_CODE: Kode tindakan tidak valid. Hal ini dapat terjadi jika kode salah format, sudah tidak berlaku, atau sudah digunakan.
- USER_DISABLED: Akun pengguna telah dinonaktifkan oleh administrator.
Mengubah email
Anda dapat mengubah email pengguna dengan mengeluarkan permintaan POST
HTTP 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-Locale | 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 Identity Platform untuk pengguna. |
string | Email baru milik 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 masa berlaku token ID. |
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 dan token refresh Identity Platform baru 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 mengeluarkan permintaan HTTP
POST
ke endpoint Auth setAccountInfo
.
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 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 masa berlaku token ID. |
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 dan token refresh Identity Platform baru 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: Sandi harus terdiri dari 6 karakter atau lebih.
Perbarui profil
Anda dapat memperbarui profil pengguna (nama tampilan / URL foto) dengan mengeluarkan permintaan HTTP POST
ke endpoint Auth setAccountInfo
.
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 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 membatalkan 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 masa berlaku token ID. |
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 POST
HTTP 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 Identity Platform akun. |
Nama Properti | Jenis | Deskripsi |
---|---|---|
pengguna | Daftar objek JSON | Akun yang terkait dengan token ID Identity Platform yang diberikan. Lihat di bawah untuk mengetahui 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 untuk 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 kali 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
. Respons akan berisi semua informasi pengguna yang terkait dengan akun.
Contoh respons
{ "users": [ { "localId": "ZY1rJK0...", "email": "user@example.com", "emailVerified": false, "displayName": "John Doe", "providerUserInfo": [ { "providerId": "password", "displayName": "John Doe", "photoUrl": "http://localhost:8080/img1234567890/photo.png", "federatedId": "user@example.com", "email": "user@example.com", "rawId": "user@example.com", "screenName": "user@example.com" } ], "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "passwordHash": "...", "passwordUpdatedAt": 1.484124177E12, "validSince": "1484124177", "disabled": false, "lastLoginAt": "1484628946000", "createdAt": "1484124142000", "customAuth": false } ] }
Kode error umum
- INVALID_ID_TOKEN:Kredensial pengguna tidak lagi valid. Pengguna harus login lagi.
- USER_NOT_FOUND: Tidak ada data pengguna yang sesuai dengan ID ini. Pengguna mungkin telah dihapus.
Menautkan dengan email/sandi
Anda dapat menautkan email/sandi ke pengguna saat ini dengan mengeluarkan permintaan POST
HTTP 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 ingin Anda tautkan kredensialnya. |
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 untuk 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 masa berlaku token ID. |
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 dan token refresh Identity Platform yang terkait dengan pengguna yang telah diautentikasi.
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 tidak lagi 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: Sandi harus terdiri dari 6 karakter atau lebih.
Menautkan dengan kredensial OAuth
Anda dapat menautkan kredensial OAuth ke pengguna dengan mengeluarkan permintaan HTTP POST
ke endpoint Auth verifyAssertion
.
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 ingin Anda tautkan kredensialnya. |
requestUri | string | URI tempat IdP mengalihkan pengguna kembali. |
postBody | string | Berisi kredensial OAuth (token ID atau token akses) dan ID penyedia yang menerbitkan kredensial. |
returnSecureToken | boolean | Apakah akan menampilkan ID dan token refresh atau tidak. Harus selalu benar. |
returnIdpCredential | boolean | Apakah akan memaksa pengembalian kredensial OAuth pada error berikut: FEDERATED_USER_ID_ALREADY_LINKED dan EMAIL_EXISTS. |
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 yang diautentikasi. |
emailVerified | boolean | Apakah email login 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 yang di-stringify yang berisi semua data IdP yang sesuai dengan kredensial OAuth yang diberikan. |
firstName | string | Nama depan untuk akun. |
lastName | string | Nama belakang untuk akun. |
fullName | string | Nama lengkap untuk akun. |
displayName | string | Nama tampilan untuk 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 masa berlaku token ID. |
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 dan token refresh Identity Platform 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":"[GCIP_ID_TOKEN]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
Permintaan yang berhasil ditunjukkan dengan kode status HTTP
200 OK
. Respons berisi token ID dan token refresh Identity Platform 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 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 dan token refresh Identity Platform yang terkait dengan pengguna yang diautentikasi.
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: Kredensial autentikasi yang diberikan salah formatnya 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 yang berbeda.
Batalkan tautan penyedia
Anda dapat membatalkan tautan penyedia dari pengguna saat ini dengan mengeluarkan permintaan
POST
HTTP 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 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 untuk 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.
Mengirim verifikasi email
Anda dapat mengirim verifikasi email untuk pengguna saat ini dengan mengeluarkan permintaan POST
HTTP 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-Locale | Kode bahasa yang sesuai dengan lokalitas pengguna. Meneruskan ini akan melokalkan verifikasi email yang dikirim ke pengguna. |
Nama Properti | Jenis | Deskripsi |
---|---|---|
requestType | string | Jenis kode konfirmasi yang akan dikirim. Harus selalu "VERIFY_EMAIL". |
idToken | string | Token ID Identity Platform 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 data pengguna yang sesuai dengan ID ini. Pengguna mungkin telah dihapus.
Mengonfirmasi verifikasi email
Anda dapat mengonfirmasi kode verifikasi email dengan mengeluarkan permintaan POST
HTTP 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 untuk 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: Masa berlaku kode tindakan telah berakhir.
- 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 data pengguna yang sesuai dengan ID ini. Pengguna mungkin telah dihapus.
Hapus akun
Anda dapat menghapus pengguna saat ini dengan mengeluarkan permintaan
POST
HTTP 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 Identity Platform 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 data 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
.