2014-01-13 13 views

答えて

7

このため文言は少し混乱が、_lastSessionIdは、現在のセッションIDです。

これは、クライアントが切断されて再接続しようとすると、最後のセッションIDでセッションを再確立したいからです。

クライアントは、このようなメッセージを再接続します:

{"msg": "connect ", "session": "ERoZSR3R3f8zBQ6Ry", "version": "pre1","support":["pre1"]} 

sessionはlastSessionId値を使用しています。これは、以前の接続を再確立するために使用されます。

これは、再接続時に新しいセッションIDが割り当てられる唯一のケースです。それまたはセッションはサーバーから切れています。

サーバーが再起動すると、キャッシュがリフレッシュされ、セッションが認識されなくなり、新しいセッションIDが割り当てられます。

+1

(ホットコードのリロードを経由して)サーバーを再起動した後、クライアントは異なる '_lastSessionId'ではなく、サーバーの再起動前と同じものを使用して再接続します。 '_lastSessionId'は上記のままであるはずですか? – Nyxynyx

+0

Iveはもう少し明確に回答を更新しました – Akshat

-1

デフォルトでは、Meteorログイントークンはローカルストレージに保存されます(クッキーには保存されません)。クライアントで

一度トークン、サーバー上で

token = Meteor._localStorage.getItem('Meteor.loginToken') 

にアクセスすることができましたが受信され、その後

Accounts._hashLoginToken(res.req.body.token) 

を使用してハッシュするアカウントのAPIを使用して、ユーザーのコレクションに対してハッシュされた値を検証できservices.resume.loginTokens.hashedTokenフィールド

このハックは、流星高速統合を構築するために使用することができます

Meteor Login Token

関連する問題