Moved the auth middleware to the hyrate approach of removing stuff from gc
and *gc.Runtime where possible and isolating it within the proper middleware.