36 lines
861 B
TypeScript
36 lines
861 B
TypeScript
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'
|
|
|
|
export const HTTP = axios.create({
|
|
baseURL: '/',
|
|
timeout: 10.000
|
|
})
|
|
|
|
function initializeTokenInterceptor() {
|
|
HTTP.interceptors.request.use(config => {
|
|
const keycloak = useKeycloak()
|
|
if (keycloak.authenticated) {
|
|
config.headers.Authorization = `Bearer ${keycloak.token}`
|
|
}
|
|
return config
|
|
}, error => {
|
|
return Promise.reject(error)
|
|
})
|
|
}
|
|
|
|
createApp(App)
|
|
.use(VueKeycloakJs, {
|
|
config: {
|
|
url: 'https://philo.ydns.eu/auth/',
|
|
realm: 'test',
|
|
clientId: 'oidc-test-web',
|
|
},
|
|
//init: { onLoad: 'check-sso' },
|
|
onReady(keycloak: Keycloak, vkk) {
|
|
initializeTokenInterceptor()
|
|
},
|
|
})
|
|
.mount('#app')
|