38 lines
883 B
TypeScript
38 lines
883 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',
|
||
|
},
|
||
|
onReady(kk: Keycloak, vkk) {
|
||
|
//console.log(kk, vkk)
|
||
|
console.log(kk.idTokenParsed)
|
||
|
initializeTokenInterceptor()
|
||
|
},
|
||
|
})
|
||
|
.mount('#app')
|