Получение токена из модели Django в представления
Я создал модель пользователя в Django и хочу узнать, какой JWT токен генерируется для моего конкретного пользователя в секции views.py, не могли бы вы помочь?
class User(AbstractBaseUser, PermissionsMixin):
username = models.CharField(max_length=255, unique=True, db_index=True)
email = models.EmailField(max_length=255, unique=True, db_index=True)
is_verified = models.BooleanField(default=False)
is_active = models.BooleanField(default=True)
is_staff = models.BooleanField(default=False)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
status=models.IntegerField(default=1)
phone=models.IntegerField(blank=True,null=True)
otp=models.IntegerField(blank=True,null=True)
auth_provider = models.CharField(
max_length=255, blank=False,
null=False, default=AUTH_PROVIDERS.get('email'))
#locations=models.ManyToManyField(Location)
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['username']
objects = UserManager()
def __str__(self):
return self.email
def tokensd(self):
refresh = RefreshToken.for_user(self)
return {
'refresh': str(refresh),
'access': str(refresh.access_token)
}
Если версия django больше 2.2, то вы можете использовать request.headers он выдаст словарь, проверит ключ токена и получит ключ request.headers['HTTP_AUTHORIZATION'] иначе вы можете использовать request.META['HTTP_AUTHORIZATION']