如何在 Django 和 Python 中使用 JWT(JSON Web 令牌)来创建用于注册和登录的 REST API
Posted
技术标签:
【中文标题】如何在 Django 和 Python 中使用 JWT(JSON Web 令牌)来创建用于注册和登录的 REST API【英文标题】:How to use JWT (JSON Web Tokens) with Django and Python for creating the REST API for signup and login 【发布时间】:2019-05-25 21:54:36 【问题描述】:我正在尝试在 Django 项目中实现 JWT(JSON Web 令牌)。但我无法达到同样的效果。您能否帮我提供一些教程或提示或链接来学习相同的内容。
我尝试在我的项目中使用 pyjwt,但是每次我点击 API 时生成的令牌对于相同的用户电子邮件地址和密码都是相同的。
【问题讨论】:
您需要提供一些代码,显示您尝试过的内容以及您遇到的问题的确切信息。 【参考方案1】:JWT 是 Header、Payload 和 Verify Signature 三个部分的组合(见下图),它们可以携带有关用户的信息(姓名、id 等)甚至是令牌的过期时间。因此,如果这些信息都没有改变,则令牌将是相同的。
每次用户登录系统时,都会使用他们的信息(用户名、ID、电子邮件等)生成一个令牌。如果这些信息不变,则令牌不变。除非将过期时间添加到令牌中,否则每次用户登录时,都会生成一个新的过期时间并将其添加到令牌中,从而创建一个新的过期时间。当令牌过期时,客户端可以请求新的访问令牌(刷新)
链接
JWT:官网 Stateless Authentication using JWT Refresh Tokens Django REST framework JWT: 另一个支持 Django REST 框架的 JWT 身份验证的包【讨论】:
感谢您提供这个非常有用的答案。 (y)以上是关于如何在 Django 和 Python 中使用 JWT(JSON Web 令牌)来创建用于注册和登录的 REST API的主要内容,如果未能解决你的问题,请参考以下文章
Python 和 Django - 如何在内存和临时文件中使用
如何在python文件中,引用django1.10的model
如何使用 AJAX 或类似的东西在 Django 中使用 Python 脚本?