老师我是用drf写的,能不能用jwt作为状态保持?

来源:4-6 完善用户个人信息..

noobone

2019-06-24

如果用 jwt 做状态保持,只要每次请求接口时 header 带上 Authorization’: 'JWT ’ + jwt ,然后视图里添加 permission_classes = [IsAuthenticated] 就可以保持登录状态。jwt 在微信小程序的使用是否有弊端?
还有app.js里的wx.login()不需要了吗,为什么要换在主页(homepage)实现? 是因为 app 异步 onLanch 比 Page 页面 onLoad 慢加载需要回调很麻烦吗?

写回答

2回答

咚咚呛

2019-06-25

wx.login的逻辑放在homepage实现是因为在逻辑设计上是把homepage当做是登录的界面,因此把逻辑迁移至此,而app.js的wx.login只是项目生成的时候遗留的代码,是可以去掉了的。

1
1
noobone
老师那么,我如果只要app一启动就开始登录,然后获取用户授权要做成弹框+按钮的形式前端应该怎么实现?
2019-06-25
共1条回复

咚咚呛

2019-06-25

如果使用DRF,配合jwt做相关逻辑是比较常见的,可以实现相关功能,并无明显弊端。但是这里需要认清楚一点,就是jwt和session在使用领域上的一些差异。jwt译做是token(令牌),因而其业务场景更多是应用于授权类的服务,举个例子:你拿到某个服务的令牌,而你拥有了授权,得到一个令牌,因此可以凭借这个令牌去请求某个服务。

而session则主要侧重于状态,session可以动态变更,比如session期限为60分钟,那么在60分钟内,每次请求,都会刷新这个时间,以维护这个登录状态。

关于小程序部分的问题,我先回看一下逻辑再做回复。

先到这里,希望对你有所帮助。

1
2
咚咚呛
回复
noobone
挺不错的理解,对web安全有一定的认识。不过如果你使用django的话,建议也使用session中间件哦,比较两种可以更提升自己。
2019-06-25
共2条回复

Django+小程序技术打造微信小程序助手

0到1完整项目实战过程,是难得的Django+小程序全栈项目体验。

991 学习 · 507 问题

查看课程