Implement basic authentication provider with the concept of a request provider