2012-02-17 10 views
5

Denemeyi denedim ancak iOS 5'in varsayılan olarak çerezleri kabul etmediğini öğrendim. Redis kullanarak bile çok farklı şeyler deniyorum ama hala birden fazla istek için devam etmek için bir oturum alamıyorum.Node.JS oturum çerezsiz

Çerezleri kullanmadan başka hangi oturum seçeneklerine sahibim? Redis kullanarak ham bir oturum modülünü çevirmek üzereyim. Burada sadece kendi "oturum kimliğimi" gönderiyorum ve bu da kolayca frenleyebiliyor gibi görünüyor.

cevap

2

Çerezleri kullanmak isteyeceğinizden neredeyse eminim. Diğer bir alternatif ise, her istek için bir url parametresi aracılığıyla bir oturum kimliğinin eklenmesi ve bunu her URL'ye eklendiğinden emin olmak için bir çeşit ara katman yazılımından yararlanarak uygulamanıza devam etmektir. Yanıtlarınızı ayrıştırarak veya şablon motorunuzu her bağlantıya ve forma ekleyecek şekilde ele geçirerek bunu yapabilirsiniz. IOS'un çerezleri içermediğini gerçekten garip buluyorum. Bunun yanlış olduğuna eminim, bunu okuduğun yeri bağlayabilir misin?

+0

Aslında kendi oturum şeylerinizi yuvarlama ile ilgili yazdıklarınız neredeyse yaptığım şeydir. Seni github'a bağlayacağım. Yerel depoda kalmasını sağlayabilirsiniz. Bunun büyük olasılıkla sencha olduğunu görmedim. Bunu kontrol et ----> https://gist.github.com/1155365 –

5

İstemciyi çerezleri destekleyecek şekilde alamıyorsanız, belki de bazı verileri LocalStorage'a koyabilir ve sonra bunu oturuma bağlanmak için sunucuya iletebilir ve tek sayfalık bir uygulama gibi yapılandırabilirsiniz.

server       |   client 
send initial payload, with token -->  store token in LocalStorage 
initial payload contains some script 

           <-- XHR request for /data?sessid=XXXXX 
look up session, do stuff  --> handle result, update DOM, do more XHR 

Web yuvaları

destekleniyor: Bu şuna benzer ediyorum

? Taşımayı yapmak için Socket.io'yu kullanabilirsiniz, bu da çok daha az gecikme olur.