def post(self, request, *args, **kwargs): """ Something went wrong here so access token is not associated with the user, it will work fine in enhancements. """ serializer = LoginSerializer(data=request.data) serializer.is_valid(raise_exception=True) data = serializer.data user = authenticate(username=data['MOBILE'], password=data['PASSWORD']) auth = { "client_id": "RpEFZiplGP5pT0snmRjkm7YrDC30igok5OQzUDNL", "client_secret": "pTwtohQfkdFhI7xlaIXh2sY42n74o8WK0VHNCFB5FsuDtiIRTnKlM18CLjD6CfrQQLtADzYfZFJt6H5eZwoHd15rahPaaGMbrxtrOzj1ULey3oK5EgAdndukyBtzszzk", "Content-Type": "application/json" } data = {"username": user.username, "password": user.password} if user: response = requests.post('http://localhost:8000/auth/token', headers=auth, data=data) token = response.json()["access_token"] status_code = "200" else: token = "Invalid" status_code = "400" data.update({"token": token, "code": status_code}) return Response(data)
def login(request): serializer = LoginSerializer(data=request.data) serializer.is_valid(raise_exception=True) user = serializer.validated_data["user"] auth_login(request, user) return Response(UserSerializer(instance=user).data, status=status.HTTP_200_OK)
def post(self, request): serializer = LoginSerializer(data=request.data) serializer.is_valid(raise_exception=True) user = serializer.validated_data["user"] if user.is_active: login(request, user) token, created = Token.objects.get_or_create(user=user) return Response({"token": token.key}, status=200) else: msg = "User is not active. Please verify with otp." return Response({"error": msg})
def post(self, request, *args, **kwargs): serializer = LoginSerializer(data=request.data, context={'request': request}) if serializer.is_valid(): user = serializer.validated_data['user'] if user: token, created = Token.objects.get_or_create(user=user) json = serializer.data json['token'] = token.key return Response(json, status=status.HTTP_200_OK) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def loginApi(request): data = request.data serializer = LoginSerializer(data=data) serializer.is_valid(raise_exception=True) user = serializer.validated_data _, token = AuthToken.objects.create(user) serializer_class = LoginSerializer return Response({ 'user': CheckUserSerializer(user).data, 'token': token })
def post(self, request): serializer = LoginSerializer(data=request.data) serializer.is_valid(raise_exception=True) user = serializer.validated_data['user'] if not user: return Response(status=status.HTTP_404_NOT_FOUND) payload = api_settings.JWT_PAYLOAD_HANDLER(user) token = api_settings.JWT_ENCODE_HANDLER(payload) return Response({ **payload, 'token': token, 'exp': settings.JWT_AUTH['JWT_EXPIRATION_DELTA'].total_seconds() })
def test_given_inactive_user_login_should_fail(self): user = RegisterSerializer().create(self.user) user.is_active = False user.save() with self.assertRaisesRegex(ValidationError, "Incorrect credentials"): LoginSerializer().validate(self.user)
def post(self, request): # 实例化得到一个序列化类的对象 serializer = LoginSerializer(data=request.data, ) # 序列化类的对象的校验方法 serializer.is_valid(raise_exception=True) token = serializer.context.get('token') user = serializer.context.get('user') # 如果通过,表示登录成功,返回手动签发的token # 如果失败,抛异常,就不用管了 data = { 'token': token, 'user': UserSerializer(user, context={ 'request': request }).data } return Response(data, status.HTTP_200_OK)
def post(self, request): serializer = LoginSerializer(data=request.data) if serializer.is_valid(): user = Account.objects.get( phone_number=str(serializer.data["phone_number"])) user.set_password(serializer.data["password"]) user.save() try: token = Token.objects.get(user=user) except Token.DoesNotExist: token = Token.objects.create(user=user) user = authenticate(phone_number=str( serializer.data["phone_number"]), password=serializer.data["password"]) login(request, user) return Response(data={'token': token.key}, status=status.HTTP_200_OK) else: return Response(data={'errors': serializer.errors}, status=status.HTTP_400_BAD_REQUEST)
def post(self, request, *args, **kwargs): serializer = LoginSerializer(data=request.data) if serializer.is_valid(): email = serializer.data['email'] password = serializer.data['password'] user = authenticate(email=email, password=password) if user is not None: """ generate additional return values here """ retval = { 'message': _('Login Successful'), 'user': AccountSerializer(user).data, 'token': Token.objects.get(user=user).key, 'status_code': status.HTTP_200_OK } return Response(retval, status=status.HTTP_200_OK) else: retval = { 'message': 'Authentication Failed', 'user': email, 'token': password, 'status_code': status.HTTP_401_UNAUTHORIZED } return Response(retval, status=status.HTTP_401_UNAUTHORIZED) else: retval = { 'message': serializer.errors, 'user': request.data.get('email'), 'token': request.data.get('password'), 'status_code': status.HTTP_400_BAD_REQUEST } return Response(retval, status=status.HTTP_400_BAD_REQUEST)
def post(self, request): serialize = LoginSerializer(data=request.data) serialize.is_valid(raise_exception=True) user = serialize.validated_data instance, token = AuthToken.objects.create(user) return Response({"user": UserSerializer(user).data, "token": token})
def test_given_no_registered_users_login_should_fail(self): with self.assertRaisesRegex(ValidationError, "Incorrect credentials"): LoginSerializer().validate(self.user)
def test_given_registered_user_when_credentials_are_correct_validate_should_login_user( self): RegisterSerializer().create(self.user) logged_user = LoginSerializer().validate(self.user) self.assertEqual(logged_user, User.objects.first())
def post(self, request): serializer = LoginSerializer(data={**request.data}) serializer.is_valid(raise_exception=True) user = serializer.user user_token_data = UserLoginService(user).execute() return Response(user_token_data, status=HTTP_200_OK)