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

--- 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');
+

+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) => {
@@ -165,6 +188,42 @@ initModule.run(['$rootScope', '$location', '$routeParams', 'routingRedirect', '$
     });
   }]);
 
+initModule.factory('KeyCloakTokenInterceptor', ($q, keycloak) => {
+  return {
+    request: (config) => {
