我创建了一个api终点,用于使用Django视图而不是DRF创建新用户。
@csrf_exempt
def user_create(request):
if request.method == 'POST':
form_data = json.loads(request.body)
form = MyUserCreationForm(form_data)
if form.is_valid():
user = form.save()
payload = {
'id': user.id,
'username': user.username,
}
jwt_token = {'token': jwt.encode(payload, settings.SECRET_KEY, algorithm='HS256').decode('utf-8')}
response = HttpResponse(
json.dumps(jwt_token, cls=DjangoJSONEncoder),
content_type="application/json"
)
return response
现在,如果创建了用户,我将获得带有jwt令牌的JSON。
我想创建另一个Django视图,该视图将根据jwt令牌验证用户,如果经过身份验证,则向我发送所需信息。
在普通的django视图中,我们使用@login_required,它允许中间件检查身份验证。
对于具有正常django视图的jwt,是否有类似的东西。
我知道djangorestframework-jwt通过将其添加到DRF设置的中间件来处理DRF视图。
如果我将djangorestframework-jwt添加到Django视图的中间件设置中,它会起作用。