The below sample will demonstrate how to implement an HTTP interceptor in Angular 5 as well as append authorization tokens where neccessary. (This was built in Angular 4 originally and was not modified when upgrading, so it should still work with Angular 4)
To make a call including an auth token, simply pass "true" as the last argument.
Note that the "app-loader-indicator" needs to be the last element on the app component markup to ensure it's always visible and always "on top".
The loader service and loader indicator component can be enhanced to make use of Observables, though for my project it was not required.
Lastly the loader indicator is simply the font awesome "fa-spin" class as per the example on the Font Awesome homepage.