クライアントで現在のセッションIDをどのように見つけますか?Meteor.jsの現在のセッションIDを確認する
私は現在のセッションIDではなく、最後のセッションIDのように見えます。
console.log(Meteor.default_connection._lastSessionId)
クライアントで現在のセッションIDをどのように見つけますか?Meteor.jsの現在のセッションIDを確認する
私は現在のセッションIDではなく、最後のセッションIDのように見えます。
console.log(Meteor.default_connection._lastSessionId)
このため文言は少し混乱が、_lastSessionId
は、現在のセッションIDです。
これは、クライアントが切断されて再接続しようとすると、最後のセッションIDでセッションを再確立したいからです。
クライアントは、このようなメッセージを再接続します:
{"msg": "connect ", "session": "ERoZSR3R3f8zBQ6Ry", "version": "pre1","support":["pre1"]}
session
はlastSessionId値を使用しています。これは、以前の接続を再確立するために使用されます。
これは、再接続時に新しいセッションIDが割り当てられる唯一のケースです。それまたはセッションはサーバーから切れています。
サーバーが再起動すると、キャッシュがリフレッシュされ、セッションが認識されなくなり、新しいセッションIDが割り当てられます。
デフォルトでは、Meteorログイントークンはローカルストレージに保存されます(クッキーには保存されません)。クライアントで
一度トークン、サーバー上で
token = Meteor._localStorage.getItem('Meteor.loginToken')
にアクセスすることができましたが受信され、その後
Accounts._hashLoginToken(res.req.body.token)
を使用してハッシュするアカウントのAPIを使用して、ユーザーのコレクションに対してハッシュされた値を検証できservices.resume.loginTokens.hashedToken
フィールド
このハックは、流星高速統合を構築するために使用することができます
(ホットコードのリロードを経由して)サーバーを再起動した後、クライアントは異なる '_lastSessionId'ではなく、サーバーの再起動前と同じものを使用して再接続します。 '_lastSessionId'は上記のままであるはずですか? – Nyxynyx
Iveはもう少し明確に回答を更新しました – Akshat