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错误。
➡️