From 12bc0a37337c800d082d5be361d5e64e3855eccb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jona=20Kl=C3=A4=C3=9F?= Date: Sun, 21 Apr 2024 15:48:42 +0200 Subject: [PATCH] new tests, still not working --- src/main.ts | 77 ++++++++++++++++++++++++++++++++--------------------- 1 file changed, 46 insertions(+), 31 deletions(-) diff --git a/src/main.ts b/src/main.ts index d66ca6e..c5ded05 100644 --- a/src/main.ts +++ b/src/main.ts @@ -41,36 +41,51 @@ keycloakStore.setKeycloak(keycloak); * Beginnt authentifizierungsprozess und lädt die Applikation neu, falls Authentifizierung fehlschlägt. * Weiterhin wird ein Tokenrefresh alle 70 Sekunden initialisiert. */ -keycloak.init(initOptions).then((auth: boolean) => { - if (!auth) { - window.location.reload(); //Falls Authentifizierung fehlschlägt, wird die Seite neu geladen. - } else { - console.log('Authenticated'); //Loggt, dass Authentifizierung erfolgreich war. - app.mount('#app'); //App wird geladen. - if(keycloak.token) { //Überprüft, ob Token vorhanden ist. - localStorage.setItem('vue-keycloak-token', keycloak.token); //Token wird in localStorage gespeichert, um es später auswerten zu können. - } - if(keycloak.refreshToken) { //Überprüft, ob Refresh-Token vorhanden ist. - localStorage.setItem('vue-keycloak-refresh-token', keycloak.refreshToken); //Refresh-Token wird in localStorage gespeichert, um bei Ablauf des Tokens ein neues Token ohne erneute Authentifizierung zu erhalten. - } - } - - //Token Refresh - setInterval(() => { - keycloak.updateToken(70).then((refreshed: boolean) => { //Token wird alle 70 Sekunden aktualisiert. - if (refreshed) { - console.log('Token refreshed'); +if(keycloakStore.keycloak) { + await keycloakStore.keycloak.init(initOptions).then((auth: boolean) => { + if(keycloakStore.keycloak) { + if (!auth) { + window.location.reload(); //Falls Authentifizierung fehlschlägt, wird die Seite neu geladen. } else { - console.warn('Token not refreshed'); - if(keycloak.tokenParsed && keycloak.tokenParsed.exp && keycloak.timeSkew){ //Fängt Probleme mit undefined Variablen ab - console.log('Token is still valid for ' - + Math.round(keycloak.tokenParsed.exp + keycloak.timeSkew - new Date().getTime() / 1000) + ' seconds'); //Loggt, wie lange das Token noch gültig ist. - } + console.log('Authenticated'); //Loggt, dass Authentifizierung erfolgreich war. + app.mount('#app'); //App wird geladen. + if (keycloakStore.keycloak.token) { //Überprüft, ob Token vorhanden ist. + console.log('Token: ' + keycloakStore.keycloak.token); //Loggt Token. + localStorage.setItem('vue-keycloak-token', keycloakStore.keycloak.token); //Token wird in localStorage gespeichert, um es später auswerten zu können. + } else console.log('No Token'); //Loggt, dass kein Token vorhanden ist. + if (keycloakStore.keycloak.refreshToken) { //Überprüft, ob Refresh-Token vorhanden ist. + console.log('Refresh-Token: ' + keycloakStore.keycloak.refreshToken); //Loggt Refresh-Token. + localStorage.setItem('vue-keycloak-refresh-token', keycloakStore.keycloak.refreshToken); //Refresh-Token wird in localStorage gespeichert, um bei Ablauf des Tokens ein neues Token ohne erneute Authentifizierung zu erhalten. + } else console.log('No Refresh-Token'); //Loggt, dass kein Refresh-Token vorhanden ist. + if (keycloakStore.keycloak.userInfo){ //Überprüft, ob User-Informationen vorhanden sind. + console.log('User: ' + keycloakStore.keycloak.userInfo); //Loggt User-Informationen. + localStorage.setItem('vue-keycloak-user', JSON.stringify(keycloakStore.keycloak.userInfo)); //User-Informationen werden in localStorage gespeichert, um sie später auswerten zu können. + } else console.log('No User'); //Loggt, dass keine User-Informationen vorhanden sind. } - }).catch(() => { - console.error('Failed to refresh token'); //Loggt, dass Token nicht aktualisiert werden konnte. - }); - }, 60000); -}).catch((e) => { - console.error('Authenticated Failed', e); -}); + + //Token Refresh + setInterval(() => { + keycloak.updateToken(70).then((refreshed: boolean) => { //Token wird alle 70 Sekunden aktualisiert. + if (refreshed) { + console.log('Token refreshed'); + } else { + console.warn('Token not refreshed'); + if (keycloak.tokenParsed && keycloak.tokenParsed.exp && keycloak.timeSkew) { //Fängt Probleme mit undefined Variablen ab + console.log('Token is still valid for ' + + Math.round(keycloak.tokenParsed.exp + keycloak.timeSkew - new Date().getTime() / 1000) + ' seconds'); //Loggt, wie lange das Token noch gültig ist. + } + } + }).catch(() => { + console.error('Failed to refresh token'); //Loggt, dass Token nicht aktualisiert werden konnte. + }); + }, 60000); + } + }).catch((e) => { + console.error('Authenticated Failed', e); + }); +} +if(keycloakStore.keycloak){ + if(keycloakStore.keycloak.userInfo){ + console.log('User: ' + keycloakStore.keycloak.userInfo); + } else console.log('No User'); +} else console.log('Keycloak not initialized');