import { createApp } from 'vue' import Keycloak from "keycloak-js" import VueKeycloakJs, { useKeycloak } from '@dsb-norge/vue-keycloak-js' import axios from 'axios' import App from './App.vue' import { settings as app_settings } from "../settings" export const HTTP = axios.create({ baseURL: '/', timeout: 10000 }) function initializeTokenInterceptor() { HTTP.interceptors.request.use(settings => { const keycloak = useKeycloak() if (keycloak.authenticated) { settings.headers.Authorization = `Bearer ${keycloak.token}` settings.headers.auth_provider = app_settings.auth_provider } return settings }, error => { return Promise.reject(error) }) } createApp(App) .use(VueKeycloakJs, { config: { url: 'https://philo.ydns.eu/auth/', realm: 'test', clientId: 'oidc-test-web', }, init: { onLoad: app_settings.sso ? 'check-sso' : 'login-required' }, onReady(keycloak: Keycloak, vkk) { initializeTokenInterceptor() }, }) .mount('#app')