2012-02-17 8 views
5

私は試してきましたが、デフォルトではiOS 5はクッキーを受け入れないことがわかりました。私はRedisを使っていてもいろいろなことを試してきましたが、複数のリクエストに対してセッションを継続することはできません。クッキーなしのNode.JSセッション

クッキーを使用しないと、他にどのようなセッションオプションがありますか?私は、自分の "セッションID"をやりとりするだけで、簡単にブレーキをかけることができるように見える、Redisを使って原始セッションモジュールをロールするつもりです。

答えて

2

私はほとんどあなたがクッキーを使用したいと思います。もう1つの選択肢は、urlパラメータを使用してすべてのリクエストにセッションIDを追加し、すべてのURLに追加するようにミドルウェアを活用してアプリ全体にセッションIDを保持することです。これを行うには、レスポンスを解析するか、テンプレートエンジンをハイジャックして、すべてのリンクとフォームにこれを含めることができます。私は、iOSがクッキーを隠していないのは本当に奇妙だと分かっています。私はこれが間違っているとほとんど確信しています、あなたはそれを読む場所にリンクしてください?

+0

実際にあなた自身のセッションのことについてのあなたの投稿は、ほぼ私がやったことです。あなたはgithubでリンクしています。ローカルストレージに保存することができます。私はこれがもっともらしい煎茶だとは思わなかった。これをチェック----> https://gist.github.com/115536​​5 –

5

クッキーをサポートするクライアントを取得できない場合は、LocalStorageにデータを入れてから、サーバーに接続してセッションに接続し、シングルページアプリケーションのように構成できます。

それは次のようになりたい:

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ソケットはありますか?あなたはSocket.ioを使ってトランスポートを行うことができます。これは待ち時間が大幅に短縮されます。

関連する問題