Exemple #1
0
    def post(self, request, *args, **kwargs):

        if not request.data.get("password"):
            return Response(responsedata(False, "Password is required"),
                            status=status.HTTP_400_BAD_REQUEST)

        if not User.objects.filter(email=request.data.get('email')).exists():
            return Response(responsedata(False, "No User found"),
                            status=status.HTTP_404_NOT_FOUND)

        if not User.objects.get(
                email=request.data.get('email')).check_password(
                    request.data.get("password")):
            return Response(responsedata(False, "Incorrect Password"),
                            status=status.HTTP_400_BAD_REQUEST)

        if request.data.get('email'):
            user = User.objects.get(email=request.data.get('email'))
            request.data['uuid'] = user.uuid
            user = authenticate(email=request.data.get('email'),
                                password=request.data.get('password'))
            login(request, user)
        serializer = TokenObtainPairSerializer(data=request.data)

        if serializer.is_valid(raise_exception=True):
            data = serializer.validate(request.data)
            data['user'] = User.objects.filter(
                uuid=request.data.get('uuid')).values()
            return Response(responsedata(True, "Sign in Successful", data),
                            status=status.HTTP_200_OK)
        return Response(responsedata(False, "Something went wrong"),
                        status=status.HTTP_400_BAD_REQUEST)
Exemple #2
0
def user_login_view(request, form):
    email = form.cleaned_data['email']
    password = form.cleaned_data['password']
    user_obj = User.objects.get(email=email)
    if user_obj.check_password(password):
        serializer = TokenObtainPairSerializer(data=form.cleaned_data)
        token = serializer.validate({'email': email, 'password': password})
        user_obj.last_login = datetime.now()
        user_obj.save()
        serializer = AuthUserSerializer(instance=user_obj, many=False)
        data = {'user': serializer.data, 'token': token['access']}
        return Response(data, status=status.HTTP_400_BAD_REQUEST)
    else:
        return Response({"data": "Password is not Correct"}, status=status.HTTP_400_BAD_REQUEST)
Exemple #3
0
    def post(self, request, *args, **kwargs):
        try:
            info = list(
                User.objects.filter(email=request.data.get("email")).values(
                    'uuid', 'email', 'username'))
            info = info[0]
        except:
            return Response(responsedata(False, "No User found"),
                            status=status.HTTP_404_NOT_FOUND)
        if not request.data.get('email'):
            return Response(responsedata(False, "Email Id is required"),
                            status=status.HTTP_405_METHOD_NOT_ALLOWED)
        if not request.data.get("password"):
            return Response(responsedata(False, "Password is required"),
                            status=status.HTTP_405_METHOD_NOT_ALLOWED)
        if not User.objects.filter(email=request.data.get("email")).exists():
            return Response(responsedata(False,
                                         "No user found with this Email Id"),
                            status=status.HTTP_404_NOT_FOUND)
        if User.objects.filter(email=request.data.get("email")).exists():
            user = list(
                User.objects.filter(
                    email=request.data.get("email")).values())[0]
        if not User.objects.get(
                email=request.data.get("email")).check_password(
                    request.data.get("password")):
            print(
                User.objects.get(
                    email=request.data.get("email")).get_password())
            return Response(responsedata(False, "Incorrect Password"),
                            status=status.HTTP_404_NOT_FOUND)

        serializer = TokenObtainPairSerializer(data=request.data)

        if serializer.is_valid(raise_exception=True):
            data = serializer.validate(request.data)
            data.update({"Access-Control-Expose-Headers": "access"})
            data.update(info)

            if serializer.User.is_active:
                return Response(responsedata(True, "Login Successfull", data),
                                status=200)
            else:
                return Response(responsedata(False,
                                             "Please Validate Your Email Id"),
                                status=400)
Exemple #4
0
    def post(self, request, *args, **kwargs):
        if request.data:
            request.POST._mutable = True
            data = request.data
            data['Pass'] = data.get('password')
            if User.objects.filter(email=data.get('email')).values().exists():
                Response(responsedata(False, "User already present"),
                         status=status.HTTP_409_CONFLICT)
            data['is_active'] = True
            serializer = UserSerializer(data=data)
            if serializer.is_valid(raise_exception=True):

                serializer.save()
                tokenserializer = TokenObtainPairSerializer(
                    data={
                        "email": request.data.get("email"),
                        "password": request.data.get("password")
                    })
                if tokenserializer.is_valid(raise_exception=True):
                    data = tokenserializer.validate({
                        "email":
                        request.data.get("email"),
                        "password":
                        request.data.get("password")
                    })
                tempid = serializer.data.get("uuid")
            else:
                return Response(responsedata(False, "Can't insert data"),
                                status=400)
            respdata = {
                'uuid': tempid,
                'data': data,
                'username': serializer.data['username'],
                'email': serializer.data['email'],
            }
            return Response(responsedata(True, "Data Inserted", respdata),
                            status=200)
        else:
            return Response(responsedata(False, "No data provided"),
                            status=412)
Exemple #5
0
def Signin(request):
    try:
        user = authenticate(username=request.data.get("email"),
                            password=request.data.get("password"))
        if user is not None:
            tokenObtainPairObj = TokenObtainPairSerializer()
            data_access_refresh_token_dict = tokenObtainPairObj.validate(
                request.data)
            data_access_refresh_token_dict.update(
                {"user": serializers.UserProfileSerializer(user).data})
            return Response(data_access_refresh_token_dict)
        else:
            return Response({"error": "Authentication Failure"},
                            status=status.HTTP_401_UNAUTHORIZED)
    except Exception as e:
        logger.exception("Token exception : %s", e)
        return Response(
            {
                "error":
                "Internal Server Error. We are extreamly sorry for the inconvenience. We will be back soon."
            },
            status=status.HTTP_500_INTERNAL_SERVER_ERROR)