在带有Django CBV Login(LoginView)的Reaction原生登录组件中创建身份验证的正确方式是什么.
我需要使用DRF编写API吗?
或者我可以只获取POST请求到.../请输入用户名和密码登录
在带有Django CBV Login(LoginView)的Reaction原生登录组件中创建身份验证的正确方式是什么.
我需要使用DRF编写API吗?
或者我可以只获取POST请求到.../请输入用户名和密码登录
您通常会使用Django rest框架(DRF)来处理API上的身份验证.用于分离、安全和基于令牌的身份验证.
为此,您将创建一个用于身份验证的自定义API端点.您可以使用DRF的TokenAuthentication
或像dj-rest-auth
这样的第三方包,这些包提供一组rest API视图来处理身份验证任务.
DRF登录函数的示例代码:
from rest_framework.authtoken.models import Token
from rest_framework.views import APIView
from rest_framework.response import Response
from django.contrib.auth import authenticate
class CustomLoginView(APIView):
def post(self, request, *args, **kwargs):
username = request.data.get('username')
password = request.data.get('password')
user = authenticate(username=username, password=password)
if user:
token, _ = Token.objects.get_or_create(user=user)
return Response({'token': token.key})
return Response({'error': 'Invalid Credentials'}, status=400)
在Reaction Native端,您将创建一个捕获用户名和密码的表单.当用户提交表单时,应用程序使用用户名和密码向Django服务器的身份验证端点发出POST请求.