В настоящее время я начал проект, чтобы узнать больше о django + jwt и реагировать.
Вместо использования sql
я использовал mongodb
с django
вместо использования djongo
.
Хорошо работает, настраивая вещи, создавая новую модель для тестирования. Поэтому я начал искать django + jwt
учебники и наткнулся на этот учебник
https://hackernoon.com/110percent-complete-jwt-authentication-with-django-and-react-2020-iejq34ta
Все отлично работает до конца о черных списках токенов
У меня есть settings.py
в соответствии с предложением
SIMPLE_JWT = {
'ACCESS_TOKEN_LIFETIME': timedelta(minutes=5),
'REFRESH_TOKEN_LIFETIME': timedelta(days=14),
'ROTATE_REFRESH_TOKENS': True,
'BLACKLIST_AFTER_ROTATION': True,
'ALGORITHM': 'HS256',
'SIGNING_KEY': SECRET_KEY,
'VERIFYING_KEY': None,
'AUTH_HEADER_TYPES': ('JWT',),
'USER_ID_FIELD': 'id',
'USER_ID_CLAIM': 'user_id',
'AUTH_TOKEN_CLASSES': ('rest_framework_simplejwt.tokens.AccessToken',),
'TOKEN_TYPE_CLAIM': 'token_type',
}
, сделав от BLACKLIST_AFTER_ROTATION
до True
, мне нужно выполнить миграцию на python manage.py migrate
Вот где ошибка происходит, ошибка, которую я получил, это
djongo.sql2mongo.SQLDecodeError: FAILED SQL: CREATE TABLE "token_blacklist_blacklistedtoken" ("id" int32 NOT NULL PRIMARY KEY AUTOINCREMENT, "blacklisted_at" date NOT NULL)
Я искал и не мог найти решение, поэтому я попытался изменить db обратно, используя mysql
, тогда миграция работала как Очарование.
Кто-нибудь знает, если я продолжаю использовать mongodb
вместо mysql
, есть ли обходной путь для этой миграции и функциональности для работы?
Заранее спасибо за любые советы.