Using getters in Provider class

To make the Provider class more extendable, I've added getters for all injected arguments. In my case, I needed another user property (an api key) than the password. And instead of copying over the whole class, I just could rewrite the _authenticate_ function.