node.js - Express-session が Cookie なしの WeChat アプレット セッションをサポートする方法
巴扎黑
巴扎黑 2017-05-16 13:21:21
0
1
1084

以前、私のsession 是仿照 cnodejs 的源码处理的,使用的 express-sessioncookie 获取信息。
现在我想增加一个微信小程序的登录接口,维护登录状态。小程序不能使用 cookie WeChat チームは weapp セッションを提供していました

皆さんにお聞きしたいのですが、今何を変えるべきでしょうか?両方にのみ適しています

巴扎黑
巴扎黑

全員に返信(1)
大家讲道理

http セッションの原理をよく知っていれば、セッションの問題は簡単に解決できます。一般的なセッション保持方法は、ブラウザがサーバーへの http リクエストを開始するときに、サーバーが http ヘッダーの cookie パラメーターに sessionid が含まれているかどうかを確認し、sessionid がある場合はそれに基づいてサーバー側に保存されているセッションを確認します。 sessionid セッションは現在のセッションに保存されます。 sessionid が存在しない場合、サーバーはセッション ID を割り当てて cookie フィールドに書き込み、ブラウザは次回別のリクエストを開始するときにそのセッション ID を持ち出します。ミニ プログラム内のすべてのリクエストは、wx.request API を通じて開始されます。 wx.request API をラップして、サーバーにリクエストを行うたびに Cookie という名前の http ヘッダーも追加するようにすると、サーバーに変更を加える必要がなくなります。サーバーによって割り当てられた sessionid は、wx.setStorageSync API を使用して WeChat クライアントに保存されます。
http://www.wxapp-union.com/ar...

つまり、クライアント WeChat アプレットは、セッション ID を保存する問題を解決します。サーバー側で nodejs によって実装されるセッション関数は、通常のセッション実装と何ら変わりません。ミニ プログラムでは、サーバーにリクエストするたびに sessionid を送信します。まず、送信した sessionid パラメーターがあるかどうかを判断し、存在する場合はセッション ID を割り当てて送信します。アプレット内で応答が受信されるたびに、設定したセッション ID があるかどうかが判断され、存在する場合はローカルに保存され、次のリクエストとともに送信されます。 。

通常、ブラウザの Cookie はセッション ID を保存するだけで、それをサーバーに送信してユーザーを識別します。もちろん、ミニ プログラムがセッションを提供するたびに、wx.setStorageSync API を使用してそれを WeChat クライアントに保存できます。クッキーの代わりに。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート