import {createApp} from 'vue'; import {createPinia} from 'pinia'; import App from './App.vue'; import Keycloak 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. */ /** * Variablen sind in quasar.config.js definiert und werden hier verwendet. * @param keycloakPort Port, auf dem Keycloak läuft, hinterlegt in docker-compose.yml * @param frontendPort Port, auf dem das Frontend läuft, hinterlegt in quasar.config.js und realm-export.json von Keycloak für die Redirect-URL * @param realm Name des Realms, hinterlegt in realm-export.json von Keycloak * @param clientId Name des Clients, hinterlegt in realm-export.json von Keycloak */ const keycloakPort = "" + process.env.PORT_KEYCLOAK; const frontendPort = "" + process.env.PORT_FRONTEND; const realm = "" + process.env.KEYCLOAK_REALM; const clientId = "" + process.env.KEYCLOAK_CLIENT_ID; const userStore = useUserStore(); const keycloakStore = useKeycloakStore(); const keycloak = new Keycloak({ url: 'http://localhost:' + keycloakPort + '/', realm: realm, clientId: clientId }); try { await keycloak.init({ onLoad: 'login-required', //authentifizierung erforderlich redirectUri: 'http://localhost:' + frontendPort + '/test/' }).then( (auth) => { console.log("Authenticated: " + auth); }); } catch (error) { console.error(error); } console.log(keycloak); console.log(keycloak.subject); // Anfrage ans Backend 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.error("hier ist was schlimmes passiert menno"); } keycloakStore.setKeycloak(keycloak);