예제 #1
0
 def post(self, request, *args, **kwargs):
     password = request.DATA.get(KEY_PASSWORD)
     phone = request.DATA.get(KEY_USERNAME)
     username = User.get_username_by_phone(phone)
     serializer = UsernameLoginTokenSerializer(data=dict(username=username, password=password))
     if not serializer.is_valid():
         raise UserNameOrPasswordIncorrect
     user = serializer.object['user']
     login_info = UserLoginSerializer(user).data
     token = serializer.object['token']
     login_info[KEY_TOKEN] = token
     return Response(login_info)
예제 #2
0
 def post(self, request, *args, **kwargs):
     self.verify(request)
     password = request.DATA.get(KEY_PASSWORD)
     phone = request.DATA.get(KEY_USERNAME)
     receiver = request.DATA.get(KEY_VERIFY_RECEIVER)
     if not phone == receiver:
         raise UserNameOrPasswordIncorrect
     username = User.generate_phone_username(phone)
     u = User.objects.create(username=username, phone=phone, source='phone', source_uid=phone, gender=MALE)
     u.set_password(password)
     serializer = UsernameLoginTokenSerializer(data=dict(username=username, password=password))
     if not serializer.is_valid():
         raise UserNameOrPasswordIncorrect
     user = serializer.object['user']
     login_info = UserLoginSerializer(user).data
     token = serializer.object['token']
     login_info[KEY_TOKEN] = token
     return Response(login_info)