FastAPI Jwt 认证

JWT

# 产生和校验JWT
pip install python-jose 


# 处理哈希密码
pip install passlib bcrypt
  • 1、创建函数,哈希来自用户的密码

  • 2、创建函数,校验接收的密码是否与存储的哈希值匹配

  • 3、创建函数,用于认证并返回用户

  • 4、设定 JWT 令牌签名算法,值设置 HS256

  • 5、创建设置令牌过期时间变量

  • 6、定义令牌端点中用于响应的 Pydantic 模型

  • 7、创建函数,生成新访问令牌的函数。

  • 8、令牌解码,对其校验,返回当前用户

  • 9、令牌无效,立即返回一个 HTTP 错误

  • 10、使用令牌的过期时间创建一个 timedelta 对象。

  • 11、创建一个真实的 JWT 访问令牌并返回它。

  • 1.调用登录接口,产生token

  • 2.调用依赖登录的接口,在请求头中携带token

  • 3.依赖登录的接口,接受到请求,判断是否在headers中携带token

  • 4.携带token,校验是否过期

  • 5.解析token,获取username

  • 6.根据username从redis获取,

  • 7.查询到username的token且token相等,我们任务用户登录

  • 8.调用接口返回数据

  • 9.如果有其中一项校验不通过,返回对应的失败的信息

实战

Last updated