Refactors AuthProviders and AuthController to work together.  Broken Commit, WIP.