'When the decorator is called like this
@facebook_required
The call will receive
Otherwise it will be like
@facebook_required(scope=[])
The init will receive the parameters'

def __call__(self):

    @wraps(self.fn, assigned=available_attrs(self.fn))
    def wrapped_view(request, *args, **kwargs):
        response = self.authenticate(self.fn, request, *args, **kwargs)
        return response
    wrapped_view.csrf_exempt = self.csrf_exempt
    return wrapped_view
