Major refactor of authentication. This pass moves to controller and consolidates
moved authentication code to Authentication service