def change_password(request):
    """
    change user account password
    :param request:
    :return:
    """

    new_password=request.POST['new_password']
    old_password=request.POST['old_password']
    username=request.POST['username']
    response=dict()

    user=authenticate(username=username, password=old_password)
    token_user=request.user

    if not user:
        print "auth error"
        return error_response("Invalid username or old password")
    else:
        user.set_password(new_password)
        user.save()
        response['success']=True
        response['message']="success"

        return package_handle(response)
def create_account(request):
    """
    :param request: POST method
                        json format '{"username": "******",
                                    "email":"email_value" ,
                                    "password": "******"""
    response=dict()
    response['success']=False
    response['message']=""
    try:
        username = request.POST['username']
        password = request.POST['password']
        email= request.POST['email']

        if User.objects.filter(username=username).exists():
            return error_response("username exists")

        if User.objects.filter(email=email).exists():
            return error_response("email exists")

        new_user = User.objects.create_user(username=username,
                                            email=email,
                                            password=password)
        token=Token.objects.create(user=new_user)
        new_user_profile = UserProfile(user = new_user)
        new_user_profile.save()

        response['success']=True
        response['message']="success"
        response['token']=token.key

    except ValueError:
        return error_response("Please provide username, password and email")

    return package_handle(response)
Exemplo n.º 3
0
    def wrapper(request):
        return original_function(request)
        username=u""
        token=u""
        try:
            username = request.GET['username']
            token = request.GET['token']
        except:
            username = request.POST['username']
            token = request.POST['token']

        if not (username and token):
            return error_response("Please provide username and access token for authentication")

        authorized = verify_token(username=username, token=token)

        if authorized==1:
            user=User.objects.get(username=username)
            request.user=user
            return original_function(request)
        elif authorized==-1:
            return error_response("expired token")
        elif authorized==0:
            return error_response("Authentication error")
def account_login(request):
    """

    :param request: GET method
    :return:
    """
    response=dict()

    username = request.POST['username']
    password = request.POST['password']

    user=authenticate(username=username, password=password)

    response['message']=""
    response['userid']=""
    response['success']=False

    if user is not None:
        if user.is_active:
            response['success']=True
            response['message']="sucess"

            try:
                exist_token = Token.objects.get(user=user)
            except Token.DoesNotExist:
                return error_response("server error")

            exist_token.delete()
            token=Token.objects.create(user=user)
            token.created = datetime.datetime.utcnow()

            response['token']=token.key

        else:
            # Return a 'disabled account' error message
            response['message']="disabled account"

    else:
        # Return an 'invalid login' error message.
        response['message']="invalid login"


    return package_handle(response)
def account_logout(request):
    """
    log user out, reset access token
    :param request: POST method
    :return:
    """
    response=dict()
    response['success']=False

    user=request.user

    try:
        exist_token = Token.objects.get(user=user)
    except Token.DoesNotExist:
        return error_response("server error")

    exist_token.delete()
    Token.objects.create(user=user)

    response['success']=True
    response['message']="success"

    return package_handle(response)
Exemplo n.º 6
0
    def process_request(self, request):

        if request.method == 'GET':
            return error_response("Please use POST")

        try:
            username = request.POST['username']
        except:
            return error_response("Please provide username")

        try:
            password = request.POST['password']

            print password
            return None  # do nothing, user is trying to login
        except:
            pass

        try:
            token = request.POST['token']
        except:
            return error_response("Please provide username and access token for authentication")

        if not (username and token):
            return error_response("Something is wrong")

        authorized = verify_token(username=username, token=token)

        if authorized==1:
            user=User.objects.get(username=username)
            request.user=user
            return None
        elif authorized==-1:
            return error_response("expired token")
        elif authorized==0:
            return error_response("Authentication error")

        return None