深受flask狗书影响
这个项目是我在我的老博客的基础上改进的,部分功能未实现
- 1)在处理注册和登录这两个操作时,后端返回
access_token
和refersh_token
。 - 2)前端访问后端某些受保护资源时需要带上这两个token。
- 3)前端在判断用户是否登录时,先判断
access_token
是否过期,未过期则认为用户已登录 (因此一些操作后端必须进行再验证); - 4)若
access_token
已过期,则去判断refresh_token
是否过期,refresh_token
未过期则带上refresh_token
访问后端API
刷新access_token
,实现登录; - 5)如果两个token都过期,则用户需要重新输入账号密码进行登录。
- jwt 相比于session来说是轻量级的,但是为了实现立即登出,后端必须增加额外的逻辑, 项目里使用的是redis辅助实现这一功能(也可以选择使用数据库来实现)
- 后端在实现这个功能时用到的包为flask-jwt-extended, 关于redis的实现,有对应demo
- ORM大法好,上手快,性能调优什么的,以后再说。
- 只有在tag和article之间存在多对多关系,其他的表之间的顶多是一对多关系
- CRUD来一套
如何将markdown截断进行展示是一个不太好解决的问题, 这里有一个帖子,生成 Markdown 摘要的几种方式对比 ,大致思路是将markdown转化为html后,根据html标签语义后利用已有的库进行文本处理
- 测试过于简单,没有包含全部情况
- API的起名以及查询所使用到的参数
- 安全性