tornado 使用jwt完成用户异步认证

💡 原文中文,约1700字,阅读约需4分钟。
📝

内容提要

本文介绍了如何使用JWT进行用户认证,主要通过异步装饰器从请求头获取token,验证用户身份及token的有效性,并提供了接口请求中的实现示例。

🎯

关键要点

  • 使用JWT进行用户认证,存储用户不敏感信息于客户端。
  • JWT与session的区别在于,session需要在服务器和客户端都存储,而JWT仅在客户端存储。
  • 创建异步验证的装饰器,从请求头获取JWT token,验证用户身份及token有效性。
  • 装饰器代码示例中,获取tsessionid并解码,查找用户信息,处理token过期和用户不存在的情况。
  • 每次请求接口时都需要进行用户认证,认证通过后才能访问接口。
  • 接口处理代码示例中,获取学生信息并处理可能的错误情况。

延伸问答

JWT是什么,如何用于用户认证?

JWT是一种用于用户认证的令牌,存储用户不敏感信息于客户端,通过加密信息发送给服务端进行验证。

JWT与session有什么区别?

JWT仅在客户端存储,而session需要在服务器和客户端都存储。

如何创建异步验证的装饰器?

可以通过从请求头获取JWT token,解码并验证用户身份及token有效性来创建异步验证的装饰器。

在请求接口时,如何进行用户认证?

每次请求接口时,需要通过异步装饰器进行用户认证,认证通过后才能访问接口。

如何处理token过期和用户不存在的情况?

在装饰器中,可以捕获jwt过期和用户不存在的异常,并设置相应的状态码。

如何获取学生信息并处理错误?

通过获取学生的id并从数据库中查找,如果学生不存在则抛出404错误。

➡️

继续阅读