对小程序 session_key 的理解

 

1 用户在登录一次后,微信的服务器会通过session 记录用户的登录态,如果用户长时间不登录的话,这个服务端的session会被清理掉,当调用checksession 的时候,会告诉你失败,用户已经下线了,session不在了,同时,如果你再想要解析用户的公开数据的时候需要重新获取这个session_key 

-------> session_key 有什么用?

服务端给你的数据是加密的,如果你想解密就需要就需要sesison_key 

--------> 怎么获取session_key ?

客户端通过 wx.login方法获取一个code(5 分钟内有效),把code 发送给自己的服务器,服务器通过另外的接口获取session-key

如果code 过期,那么就会获取不到session-key。

---------->如果我存储ssessiion-key 在自己的服务器,每次解析数据的时候就可以直接使用啦?

并不是,session-key 会过期。

----------> 那么我第一次登录的时候解析完数据,保存到服务器里,以后就不需要反复获取用户数据,获取sessionkey 并且解析数据啦?

可以,但是有个缺点,你保存的信息,是用户第一次登录时候的信息,如果用户修改了头像之类的,你数据库的信息不能够和微信的保持同步。

----------> 我想要自己的数据是最新的怎么办?

那么就每次进入小程序的时候调用登录接口,获取新的用户数据,获取sessonkey, 解析数据,然后展示数据。

----------->每次都要调用登录接口?

好像是这样,

---------->那么后台也要每次都获取sessionkey吗

不需要,你可以在前端通过checksessionkey 来检查sessionkey 是不是已经过期了,如果没有过期,那么就不需要重新获取。

---------> 每次都登录是不是有点麻烦?

我觉得也是,所以直接获取一次信息就好了,本地存储一个token ,除非用户删除小程序,不然的话,根本不需要登录。

 

 

 

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值