采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
如果用 jwt 做状态保持,只要每次请求接口时 header 带上 Authorization’: 'JWT ’ + jwt ,然后视图里添加 permission_classes = [IsAuthenticated] 就可以保持登录状态。jwt 在微信小程序的使用是否有弊端? 还有app.js里的wx.login()不需要了吗,为什么要换在主页(homepage)实现? 是因为 app 异步 onLanch 比 Page 页面 onLoad 慢加载需要回调很麻烦吗?
wx.login的逻辑放在homepage实现是因为在逻辑设计上是把homepage当做是登录的界面,因此把逻辑迁移至此,而app.js的wx.login只是项目生成的时候遗留的代码,是可以去掉了的。
老师那么,我如果只要app一启动就开始登录,然后获取用户授权要做成弹框+按钮的形式前端应该怎么实现?
如果使用DRF,配合jwt做相关逻辑是比较常见的,可以实现相关功能,并无明显弊端。但是这里需要认清楚一点,就是jwt和session在使用领域上的一些差异。jwt译做是token(令牌),因而其业务场景更多是应用于授权类的服务,举个例子:你拿到某个服务的令牌,而你拥有了授权,得到一个令牌,因此可以凭借这个令牌去请求某个服务。
而session则主要侧重于状态,session可以动态变更,比如session期限为60分钟,那么在60分钟内,每次请求,都会刷新这个时间,以维护这个登录状态。
关于小程序部分的问题,我先回看一下逻辑再做回复。
先到这里,希望对你有所帮助。
我的理解是:现在有些网站直接拿jwt代替session,可以防范CSRF攻击,而且令牌存在客户器端,session一般使用redis缓存; 用jwt可以节约服务器资源,jwt时限的问题比较笨重,jwt防不住XSS攻击
挺不错的理解,对web安全有一定的认识。不过如果你使用django的话,建议也使用session中间件哦,比较两种可以更提升自己。
登录后可查看更多问答,登录/注册
0到1完整项目实战过程,是难得的Django+小程序全栈项目体验。
1.4k 7
1.2k 23
2.1k 21
1.2k 14
1.2k 12