Abstract provider class for auth properly implemented