Refactored external auth methods to be providers