Saya sedang mengerjakan aplikasi PhoneGap dengan penggunaan sesi server. Dibutuhkan cookie untuk menangani sesi tersebut. Selain itu, cookie dari load balancer juga harus ditangani. Jadi tidak ada jalan lain. Bagaimana Anda menangani Cookies di aplikasi PhoneGap?
Saya telah menyelesaikan beberapa penelitian:
- Beberapa orang mengatakan penanganan cookie mungkin bergantung pada server yang tidak menyetel cookie untuk agen pengguna yang tidak dikenal (IIS): sesi PhoneGap (cookie) di iOS
- Dalam JavaScript, cookie dapat disetel dengan document.cookie = ..., tetapi tidak disimpan di PhoneGap dan hilang. Sebelum mengaktifkan permintaan xhr, ini berfungsi.
- Cookie dapat diambil setelah permintaan xhr dengan xhr.getResponseHeader ('Set-Cookie'). Tetapi hanya jika benar-benar diatur di server. Sayangnya, jQuery menghapus header "Cookie".
- Properti document.cookie JavaScript tidak ditetapkan dan tidak diperbarui setelah permintaan (xhr).
- Beberapa menyarankan localStorage untuk menyimpan id sesi dll. Tetapi semua skrip dapat mengaksesnya dan ini mungkin merupakan masalah keamanan XSS. Cookies mengatasi masalah ini dengan menggunakan bendera httponly.
- iOS: Ada beberapa modifikasi yang akan mengubah perilaku webView untuk mendukung cookie. Namun tampaknya tidak berfungsi dengan iOS 6 dan PhoneGap 2.5: https://groups.google.com/forum/?fromgroups=#!topic/phonegap/ZJE1nxX63ow
- Cookies tampaknya diaktifkan secara default di AppDelegate.m (v2.5).