【发布时间】:2020-07-23 19:00:15
【问题描述】:
目前我开始了一个项目,以了解更多 django + jwt 和 react。
我没有使用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)
我四处寻找,找不到解决方案,所以我尝试使用 mysql 改回 db,然后迁移就像一个魅力。
有谁知道我是否继续使用mongodb 而不是mysql,是否有解决此迁移和功能工作的解决方法?
提前感谢您的任何建议。
【问题讨论】:
标签: python mysql django mongodb jwt