Python 如何在Django Rest框架中使用手机号码登录。
我们使用django rest框架作为登录模块,带有电话号码 要对其进行身份验证,我想使用OTP(一次性密码)。 如何做到这一点 这可以使用rest框架的auth令牌来完成。 但这似乎不是个好主意 任何其他方法。Python 如何在Django Rest框架中使用手机号码登录。,python,django,rest,Python,Django,Rest,我们使用django rest框架作为登录模块,带有电话号码 要对其进行身份验证,我想使用OTP(一次性密码)。 如何做到这一点 这可以使用rest框架的auth令牌来完成。 但这似乎不是个好主意 任何其他方法。 请提供帮助。要让mobile和otp与您的项目配合使用,您需要创建您的withmobileasusername和otpaspassword字段 创建自己的用户模型后,您可以在创建用户实例后使用移动和otp 您可以创建两个简单视图,用户输入有效的手机号码后首先生成otp,另一个视图验证o
请提供帮助。要让mobile和otp与您的项目配合使用,您需要创建您的with
mobile
asusername
和otp
aspassword
字段
创建自己的用户
模型后,您可以在创建用户
实例后使用移动和otp
您可以创建两个简单视图,用户输入有效的手机号码后首先生成otp,另一个视图验证otp,在响应中发送令牌
示例:
# views
@api_view(['POST'])
def generate_otp(request):
mobile = request.data.get('mobile', None)
if mobile:
otp = random.randrange(lower_limit, upper_limit+1)
User.objects.create(mobile=mobile, otp=otp)
return Response({'success': True})
else:
...
@api_view(['POST'])
def verify_otp(request):
mobile = ...
otp = request.data.get('otp', None)
if mobile and otp:
try:
user = User.objects.get(mobile=mobile, otp=otp)
except User.DoesNotExist:
return Response({'message': 'Invalid OTP'})
token = Token.objects.create(user=user)
return Response({'token': token})
else:
...
这是基于rest\u framework authtoken
,如果您愿意,也可以使用。是否使用基于令牌的身份验证?是。我也在用同样的方法。你知道如何只使用手机登录而不使用手机登录来实现jwt吗password@user190549张贴一个新问题,明确说明你需要帮助的地方。