Auparavant, mon équipe session
是仿照 cnodejs
的源码处理的,使用的 express-session
、cookie
获取信息。
现在我想增加一个微信小程序的登录接口,维护登录状态。小程序不能使用 cookie
WeChat proposait une session weapp
Je voudrais demander à tout le monde, comment dois-je le changer maintenant ? Convient uniquement aux deux
Si vous connaissez le principe de la session http, le problème de session peut être facilement résolu. Une méthode courante de conservation de session consiste à ce que lorsque le navigateur initie une requête http au serveur, le serveur vérifie si l'ID de session est inclus dans le paramètre du cookie d'en-tête http. S'il existe un ID de session, il vérifie la session stockée côté serveur en fonction de celui-ci. l'ID de session. La session est enregistrée dans la session. Certaines informations sur la session en cours. Si l'ID de session n'existe pas, le serveur en attribuera un et l'écrira dans le champ du cookie, et le navigateur l'apportera avec lui la prochaine fois qu'il lancera une autre requête. Toutes les requêtes du mini-programme sont initiées via l'API wx.request. Si vous encapsulez l'API wx.request de sorte qu'à chaque fois qu'elle envoie une requête au serveur, elle ajoute également un en-tête http nommé Cookie, il n'est donc pas nécessaire d'apporter des modifications au serveur. L'ID de session attribué par le serveur est stocké dans le client WeChat à l'aide de l'API wx.setStorageSync.
http://www.wxapp-union.com/ar...
C'est-à-dire que l'applet client WeChat résout le problème du stockage de l'ID de session. La fonction de session implémentée par nodejs côté serveur n'est pas différente de l'implémentation de session ordinaire. Dans le mini-programme, envoyez l'identifiant de session ensemble à chaque fois que vous demandez à votre serveur. Sur le serveur, vous déterminez d'abord s'il existe le paramètre sessionid que vous avez envoyé. Si tel est le cas, continuez à exploiter la session. Sinon, attribuez un identifiant de session et envoyez. avec la réponse. Donnez au client une applet WeChat. Chaque fois qu'une réponse est reçue dans l'applet, il sera jugé s'il existe l'ID de session que vous avez défini. Si tel est le cas, elle sera stockée localement et envoyée avec la prochaine demande. .
Habituellement, le cookie de notre navigateur stocke uniquement l'identifiant de session et l'envoie au serveur pour identifier l'utilisateur. Bien entendu, chaque fois que le mini-programme propose une session, nous pouvons utiliser l'API wx.setStorageSync pour le stocker dans le client WeChat. à la place du cookie.