 +initModule.factory('keycloak', $window => {
 +  return $window._keycloak;
 +});
-
+ 
  // add a global resolve flag on all routes (user needs to be resolved first)
  initModule.config(['$routeProvider', ($routeProvider) => {
-@@ -54,7 +78,6 @@
-           deferred.reject(error);
-         });
-       }
--
-       return deferred.promise;
-     }];
-
-@@ -65,6 +88,7 @@
-     route.resolve || (route.resolve = {});
-     route.resolve.app = ['$q', 'chePreferences', ($q, chePreferences) => {
-       let deferred = $q.defer();
-+
-       if (chePreferences.getPreferences()) {
-         deferred.resolve();
-       } else {
-@@ -74,9 +98,9 @@
-           deferred.reject(error);
-         });
-       }
--
-       return deferred.promise;
-     }];
-+
-     return $routeProvider.otherwise(route);
-   };
-
-@@ -110,12 +134,11 @@
- /**
-  * Setup route redirect module
-  */
--initModule.run(['$rootScope', '$location', '$routeParams', 'routingRedirect', '$timeout', 'ideIFrameSvc', 'cheIdeFetcher', 'routeHistory', 'cheUIElementsInjectorService', 'workspaceDetailsService',
-+initModule.run(['$rootScope', '$location', '$routeParams', 'routingRedirect', '$timeout','ideIFrameSvc', 'cheIdeFetcher', 'routeHistory', 'cheUIElementsInjectorService', 'workspaceDetailsService',
-   ($rootScope, $location, $routeParams, routingRedirect, $timeout, ideIFrameSvc, cheIdeFetcher, routeHistory, cheUIElementsInjectorService, workspaceDetailsService) => {
-     $rootScope.hideLoader = false;
-     $rootScope.waitingLoaded = false;
-     $rootScope.showIDE = false;
--
-     workspaceDetailsService.addPage('Projects', '<workspace-details-projects></workspace-details-projects>', 'icon-ic_inbox_24px');
-     workspaceDetailsService.addPage('SSH', '<workspace-details-ssh></workspace-details-ssh>', 'icon-ic_vpn_key_24px');
-
-@@ -166,6 +189,43 @@
+@@ -165,6 +188,42 @@ initModule.run(['$rootScope', '$location', '$routeParams', 'routingRedirect', '$
+     });
    }]);
-
-
+ 
 +initModule.factory('KeyCloakTokenInterceptor', ($q, keycloak) => {
 +  return {
 +    request: (config) => {

--- src/app/index.module.ts
+++ src/app/index.module.ts
@@ -31,13 +31,37 @@
 import {StacksConfig} from './stacks/stacks-config';
 import {DemoComponentsCtrl} from './demo-components/demo-components.controller';
 import {DocsConfig} from './documentation/docs-config';
-
+import * as Keycloak from '../components/keycloak/keycloak';
+
+
+let keycloakConfig = {
+  "url": "https://sso.openshift.io/auth",
+  "realm": "fabric8",
+  "clientId": "openshiftio-public",
+};

 // init module
 let initModule = angular.module('userDashboard', ['ngAnimate', 'ngCookies', 'ngTouch', 'ngSanitize', 'ngResource', 'ngRoute',
   'angular-websocket', 'ui.bootstrap', 'ui.codemirror', 'ngMaterial', 'ngMessages', 'angularMoment', 'angular.filter',
   'ngDropdowns', 'ngLodash', 'angularCharts', 'ngClipboard', 'uuid4', 'angularFileUpload']);

+angular.element(document).ready(() => {
+  console.log('running keycloak init sequence');
+

+
+  }
+});
 
 // add interceptors
 initModule.factory('ETagInterceptor', ($window, $cookies, $q) => {
@@ -355,6 +414,7 @@ initModule.constant('userDashboardConfig', {
 });
 
 initModule.config(['$routeProvider', '$locationProvider', '$httpProvider', ($routeProvider, $locationProvider, $httpProvider) => {
+  $httpProvider.interceptors.push('KeyCloakTokenInterceptor');
   // add the ETag interceptor for Che API
   $httpProvider.interceptors.push('ETagInterceptor');
 }]);
