import {createApp} from 'vue'; import {createPinia} from 'pinia'; import App from './App.vue'; import Keycloak, {type KeycloakConfig, type KeycloakInitOptions} from 'keycloak-js'; import { useKeycloakStore } from 'stores/keycloakStore'; import {useUserStore} from 'stores/user-store'; const app = createApp(App); app.use(createPinia()); /** * Initialisierungsoptionen für Keycloak. * @param url URL zu Keycloak, Port definiert in keycloak_init.sh und quasar.config.js-Datei. Müssen identisch sein! * @param realm Name des Realms, hinterlegt in realm-export.json von Keycloak und quasar.config.js-Datei. Müssen identisch sein! * @param clientId Name des Clients, hinterlegt in realm-export.json von Keycloak und quasar.config.js-Datei. Müssen identisch sein! * @param onLoad = 'login-required': Hierdurch wird zum Aufrufen der ganzen Applikation ein login benötigt. * @param redirectUri: URL, zu der nach dem Login weitergeleitet wird. Hierbei wird die Port des Frontends aus der .env-Datei verwendet. */ const keycloak = new Keycloak({ url: 'http://localhost:8083/', realm: 'PraxistransferKeycloak', clientId: 'praxistransfer' }); console.log("ICH WAR HIER"); try { const authenticated = await keycloak.init({ onLoad: 'login-required', redirectUri: 'http://localhost:8080/' }).then( (auth) => { console.log("Authenticated :" + authenticated); }); } catch (error) { console.error(error); } console.log(keycloak); console.log(keycloak.subject); // Anfrage ans Backend const userStore = useUserStore(); if (keycloak.subject != null) { //userStore.loadPtpUsersByKeycloakID(keycloak.subject); userStore.getPtpUserByKeycloakID(keycloak.subject); /*console.log(userStore.userLoaded); if(userStore.userLoaded) { console.log("Hier ist der Bruder: " + JSON.stringify(userStore.user)); }*/ userStore.loadPtpUsersByKeycloakID(keycloak.subject).then(user => { console.log(JSON.stringify(user)); }) } else { console.log("hier ist was schlimmes passiert menno"); }