用于自定义模型的 Django JWT Auth

Django JWT Auth for custom model

我有一个自定义用户模型

class User(models.Model):
    fields...

它还有一个电子邮件、密码字段以及其他详细信息字段。我想使用 simplejwt JWT 授权,它将电子邮件和密码作为输入并生成 JWT 令牌。大多数教程包括创建超级用户和传递超级用户的用户名密码以获取令牌,但我想为我的自定义用户模型执行此操作。

Django 身份验证系统的 REST 实现。 约瑟

Getting Started with Djoser

此外,您需要一个 MOD HEADER,它是 Chrome 中的一个扩展 Add it from here

一旦您的 Django 项目启动并且 运行 转到 localhost:8000/auth/jwt/create/ 用于通过提交 usernamepassword(即:POST 方法)

创建 access token

创建 access token 后,您需要在 Request Header 中的 MOD HEADER 中设置它,并且您很高兴去。 它是一个 JSON 网络令牌,这就是为什么你需要在它前面加上 JWT 前缀,然后是 access token

django-simple-jwt 通过 obtainTokenPairView. This views calls the authenticate function from django. Therefore if you have set up a custom user model following django guidelines 生成访问和刷新令牌,使用电子邮件代替用户名,django-simple-jwt 应该开箱即用

否则,您仍然可以选择创建自己的视图并且Generate the tokens manually