From ffc585adaf633d18361ececd1bbaf4012fa6ecdd Mon Sep 17 00:00:00 2001 From: Alfredo Chissotti <20033498@studenti.uniupo.it> Date: Wed, 14 Sep 2022 17:26:28 +0200 Subject: [PATCH] update --- WebServer/bin/code/Resources.class | Bin 4419 -> 4224 bytes WebServer/bin/code/Server.class | Bin 3969 -> 3939 bytes WebServer/src/code/Resources.java | 2 +- WebServer/src/code/Server.java | 2 +- keycloak-19.0.1/data/h2/keycloakdb.lock.db | 6 ++-- webapp/public/conf/conf.json | 0 .../public/js/authentication/configuration.js | 33 ++++++++---------- .../js/authentication/requests-to-domain.js | 19 +++++----- webapp/public/js/authentication/script.js | 14 ++++---- 9 files changed, 36 insertions(+), 40 deletions(-) delete mode 100644 webapp/public/conf/conf.json diff --git a/WebServer/bin/code/Resources.class b/WebServer/bin/code/Resources.class index d77a40ed352a05187daa44f6f233c2d0156c02fe..ff670eb776da0489f96d95e76f6dfdefcd67c103 100644 GIT binary patch delta 2243 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 delta 2405 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 diff --git a/WebServer/bin/code/Server.class b/WebServer/bin/code/Server.class index 9a5bb2dca954bb0b713a13fab23299c0e70e94dc..ba08391345eca2b494140003a57e34b886273b5b 100644 GIT binary patch delta 847 zcmZXR*-sNu6vn?(+D>OWRH#v+4d8<q7s$jY;lYR|h6ur+F(@H`Qp>Q2(4@r&9!xdy z36~hIxS-;`qGCZ>Y!x@$5X2S59rZ8p4^U4BQHk?#&bhz)efOSwW?Sml6s7-1q!&Oo zz66y*DPYljx?hv9gAniWR_Iz@ox4h3t@{-;A<l-~ghb7+dp7&@3a#2(r)wMinhkph z&WYILkMZXJc<gu^_7WTu^%C|GWZk$km(Nwu61(pp!8R_GaEOp#C{}K0aM#oqdTaH1 z1+6%u!h$xwYxW9bJ6~^Hw#n<RT{LH{4aW$iDL8?X5>BZ&jWeRaR%tz_;yf;hh%L)? zQN<-#2^N2Y+t(nY16L#jRdk|DsB)&YTSW+Av0Pp#UqeJfRK<0%U7khVqFv6UJ7QG! z&?Awfq|tz=RmvSN6uiVM3BxhtYcZnq(THfXXV5z_V9zywB&3OKdy>%91o|wNs!LY& z;wA{U_)nN{8*yA)VC8t1Nit{RY?&Jd1-T&fag1#PF37lt`)p&WX+GOz7L<x1b#QW1 zaTq&8*jkkC+!e(ZUIj!)d{W>aE~02*zJE-0Ad1%Fd0`wLTOOUT?7{I6&ZdXZ-igbd zm=eKN@bh}kVrs!SxnYou5R!x3Q6i>u^DZo=9LnWvGWu>dVWwE)C<>Hd7^V1zGJMB6 ze#?4tpq!H7rgV5{0V*g9I_02-&6SjgDk?%Xm7oz1jE9@cB)H5!DGhNF9!i)YK?5;! zqMrq3p3h_0F!*PXsm8<rDbe231))un^8XGpg$+;GX2KAj{<iz@j4KDT=WKmr#J70Q Q%*o8hIre?PCyZj+FEIDi@&Et; delta 869 zcmY*VSx*yT6g?N(PG=a3l!(Df@kOI7nFl2%5KRoxU@&3?A*cwY42uX&T1@1@R9_W0 zJ_Q#PcU;k;wn!C0a6@s&eTQG*4^VFlE}cy7a_%{I=AJS8wiIRfXKx>XMHu%fg;It| zbGjO;G&6P(jG9~bXcBf3Vx6u^U0YV~sMc5M9tF*aHe-+QN{LA=1gqxJotxZxrB>sr z*EOfd!wdF_E@_&#m0*dSN;p7}!~1fXt)MNm>oCFmhbQ3(VM>^hU(x8OZ76ir=?x0n z(V@bKWBkE6%fsV5y(wp-%Tbp-x5$hW1kx0o!f6R-RCMAj19mZBP8JpBrKa;LF5sf* zGB2=oskjUiALwaxxEp2o&@JJrifg#uB4?TcDtd53WXtpAAZ|*yrJ_%4mS<BybjX=B zBt~VY;SnK0#48CRUx}k9qD(2bj4F7IHxk~4^zX!oGDIIlOH2lR68$l`^i{}es^L4q zE>zVnR;%`v{TKk@4*MU4K}2(Hgo)!_Mv^%bXJcvr<l};Hk7H;I*dXIR9<Yq5Q8_G= znXo|&sw3VlB>{N-*jk)!-5x|Uce^IK-9h{}+Z)k|2<HAE+E{mRLU$;L_L8&!j!v}4 zBibIE^y6H*AD6mur5jUwv)~86y`4y0F$v*z7|HM>*~h;ekLi4!4GXD&ia1Aw4{OCN zk!>mVu3;0`VjS!61EqZHda|I5W}uwX;GirxX)!8k33MtzE$geO7}cbshHBA-hhcLJ zr4nq0Uo;QV5{4zrl%Rnav*Ixm4D8_u%y|0O?3A#pfD|uc<6`pu8Et3sGnPc*IbKXk f-FV5Bg|SyGdmoM;@tH9zV{Xo&=L^1J3`xHM8-m*j diff --git a/WebServer/src/code/Resources.java b/WebServer/src/code/Resources.java index 85ee6c4..c2029e3 100644 --- a/WebServer/src/code/Resources.java +++ b/WebServer/src/code/Resources.java @@ -39,7 +39,7 @@ public class Resources implements HttpHandler { case "js/" : strlist.add("text/javascript"); break; case "css" : strlist.add("text/css"); break; // case "con" : strlist.add("text/plain"); break; - case "con" : strlist.add("application/json"); break; + // case "con" : strlist.add("application/json"); break; // default : strlist.add("text/plain"); break; default: strlist.add("text"); break; } diff --git a/WebServer/src/code/Server.java b/WebServer/src/code/Server.java index 7a484be..651a807 100644 --- a/WebServer/src/code/Server.java +++ b/WebServer/src/code/Server.java @@ -87,7 +87,7 @@ public class Server { server.createContext("/js/authentication/",new Resources()); server.createContext("/js/templates/",new Resources()); server.createContext("/css/",new Resources()); - server.createContext("/conf/",new Resources()); + // server.createContext("/conf/",new Resources()); server.createContext("/res/",new ImageRes()); server.createContext("/secured/home/js/",new Resources()); server.createContext("/secured/home/css/",new Resources()); diff --git a/keycloak-19.0.1/data/h2/keycloakdb.lock.db b/keycloak-19.0.1/data/h2/keycloakdb.lock.db index 06e320a..f3a4d95 100644 --- a/keycloak-19.0.1/data/h2/keycloakdb.lock.db +++ b/keycloak-19.0.1/data/h2/keycloakdb.lock.db @@ -1,6 +1,6 @@ #FileLock -#Wed Sep 14 16:24:41 CEST 2022 -server=localhost\:44755 +#Wed Sep 14 17:26:24 CEST 2022 hostName=localhost +id=1833c959d82a7836ed0e7315f92a10aced4476cbd47 method=file -id=1833c633e7d2ba3b048a044a44b09843d1248f762d0 +server=localhost\:56546 diff --git a/webapp/public/conf/conf.json b/webapp/public/conf/conf.json deleted file mode 100644 index e69de29..0000000 diff --git a/webapp/public/js/authentication/configuration.js b/webapp/public/js/authentication/configuration.js index 311a976..38503a6 100644 --- a/webapp/public/js/authentication/configuration.js +++ b/webapp/public/js/authentication/configuration.js @@ -1,6 +1,5 @@ "use strict"; -// import conf from '../../conf/conf.json' assert {type: 'json'}; const conf = { "self-server-url": "https://localhost:3000/", "keycloak": { @@ -12,26 +11,24 @@ const conf = { } }; -class Configuration { - static getMyURL() { - return conf["self-server-url"]; - } +function getMyURL() { + return conf["self-server-url"]; +} - static getKeycloakInfo() { - return conf.keycloak; - } +function getKeycloakInfo() { + return conf.keycloak; +} - static getKeycloakRealm() { - return conf.keycloak.realm; - } +function getKeycloakRealm() { + return conf.keycloak.realm; +} - static getKeycloakURL() { - return conf.keycloak["base-server-url"]; - } +function getKeycloakURL() { + return conf.keycloak["base-server-url"]; +} - static getDomainURL() { - return conf.domain["base-domain-url"]; - } +function getDomainURL() { + return conf.domain["base-domain-url"]; } -export default Configuration; \ No newline at end of file +export {getMyURL, getKeycloakInfo, getKeycloakRealm, getKeycloakURL, getDomainURL}; \ No newline at end of file diff --git a/webapp/public/js/authentication/requests-to-domain.js b/webapp/public/js/authentication/requests-to-domain.js index 6c83e31..ed7d380 100644 --- a/webapp/public/js/authentication/requests-to-domain.js +++ b/webapp/public/js/authentication/requests-to-domain.js @@ -2,8 +2,7 @@ import {getToken} from "./script.js"; import Domain from "./domain.js"; -import Configuration from "./configuration.js"; -const configuration = new Configuration(); +import { getDomainURL } from './configuration.js'; class RequestToDomain { @@ -16,7 +15,7 @@ class RequestToDomain { * sui domini dell'utente che ha effettuato il login */ static async getMyDomains() { - const responseDomain = await fetch(`${configuration.getDomainURL()}secured/domains/`, { // DA FARE: controllare che l'uri che ho specificato qui coincida con quello specificato dal domain manager + const responseDomain = await fetch(`${getDomainURL()}secured/domains/`, { // DA FARE: controllare che l'uri che ho specificato qui coincida con quello specificato dal domain manager method: 'GET', headers: { 'Authorization': `Bearer ${await getToken()}` @@ -42,7 +41,7 @@ class RequestToDomain { * false altrimenti. */ static async createNewDomain(json) { - const response = await fetch(`${configuration.getDomainURL()}install/`, { + const response = await fetch(`${getDomainURL()}install/`, { method: 'POST', headers: { 'Authorization': `Bearer ${await getToken()}` @@ -63,7 +62,7 @@ class RequestToDomain { * disponibili. */ static async getAllServices() { - const responseDomain = await fetch(`${configuration.getDomainURL()}secured/services`, { // DA FARE: controllare che l'uri che ho specificato qui coincida con quello specificato dal domain manager + const responseDomain = await fetch(`${getDomainURL()}secured/services`, { // DA FARE: controllare che l'uri che ho specificato qui coincida con quello specificato dal domain manager method: 'GET', headers: { 'Authorization': `Bearer ${await getToken()}` @@ -84,7 +83,7 @@ class RequestToDomain { * @returns */ static async getUsedServices(domain) { - const response = await fetch(`${configuration.getDomainURL()}secured/services?domain=${domain}`, { + const response = await fetch(`${getDomainURL()}secured/services?domain=${domain}`, { method: 'GET', headers: { 'Authorization': `Bearer ${await getToken()}` @@ -105,7 +104,7 @@ class RequestToDomain { * false altrimenti. */ static async startDomain(d) { - const response = await fetch(`${configuration.getDomainURL()}start/`, { + const response = await fetch(`${getDomainURL()}start/`, { method: 'POST', headers: { 'Authorization': `Bearer ${await getToken()}` @@ -128,7 +127,7 @@ class RequestToDomain { * false altrimenti. */ static async stopDomain(d) { - const response = await fetch(`${configuration.getDomainURL()}stop/`, { + const response = await fetch(`${getDomainURL()}stop/`, { method: 'POST', headers: { 'Authorization': `Bearer ${await getToken()}` @@ -151,7 +150,7 @@ class RequestToDomain { * false altrimenti. */ static async deleteDomain(d) { - const response = await fetch(`${configuration.getDomainURL()}delete/`, { + const response = await fetch(`${getDomainURL()}delete/`, { method: 'POST', headers: { 'Authorization': `Bearer ${await getToken()}` @@ -171,7 +170,7 @@ class RequestToDomain { * @returns */ static async getUserPriviledges(domain) { - const response = await fetch(`${configuration.getDomainURL()}secured/priviledges?domain=${domain}`, { + const response = await fetch(`${getDomainURL()}secured/priviledges?domain=${domain}`, { method: 'GET', headers: { 'Authorization': `Bearer ${await getToken()}` diff --git a/webapp/public/js/authentication/script.js b/webapp/public/js/authentication/script.js index 169cb37..a32f004 100644 --- a/webapp/public/js/authentication/script.js +++ b/webapp/public/js/authentication/script.js @@ -4,8 +4,8 @@ import App from './app.js'; import RequestToDomain from './requests-to-domain.js'; // import * as jose from 'jose'; // per la gestione del token -import Configuration from './configuration.js'; -const configuration = new Configuration(); +import { getKeycloakRealm, getKeycloakURL, getMyURL } from './configuration.js'; + const mySecure = new Secure(); @@ -51,7 +51,7 @@ else if(uri.includes("#")){ // {nome: "casa4", stato:"on", admin: false} // ]; - const app = new App(myDomains,configuration); + const app = new App(myDomains); } } } else if(uri.includes(`/secured/home/`)) { @@ -77,7 +77,7 @@ function queryStringGetValue(queryString) { */ async function requestFirstToken(uriAuthCode) { - const url = `${configuration.getKeycloakURL()}realms/${configuration.getKeycloakRealm()}/protocol/openid-connect/token`; + const url = `${getKeycloakURL()}realms/${getKeycloakRealm()}/protocol/openid-connect/token`; const response = await fetch(url, { method: `POST`, headers: { @@ -88,7 +88,7 @@ async function requestFirstToken(uriAuthCode) { client_id: `myclient`, code_verifier: sessionStorage.getItem("codeVerifier"), code: uriAuthCode, - redirect_uri: `${configuration.getMyURL()}secured` + redirect_uri: `${getMyURL()}secured` }) }); token = await response.json(); @@ -115,7 +115,7 @@ async function getToken() { * Post per la richiesta del token usando il refresh token. */ async function requestUsingRefreshToken() { - const url = `${configuration.getKeycloakURL()}realms/${configuration.getKeycloakRealm()}/protocol/openid-connect/token`; + const url = `${getKeycloakURL()}realms/${getKeycloakRealm()}/protocol/openid-connect/token`; const response = await fetch(url, { method: `POST`, headers: { @@ -165,7 +165,7 @@ async function logoutKeycloak() { if(token == null) return; clearTimeout(oldTimeout); // DA FARE: funziona, ma vedere se fare il redirect alla pagina iniziale. - window.location.href = `${configuration.getKeycloakURL()}realms/${configuration.getKeycloakRealm()}/protocol/openid-connect/logout?id_token_hint=${await getIdToken()}`; + window.location.href = `${getKeycloakURL()}realms/${getKeycloakRealm()}/protocol/openid-connect/logout?id_token_hint=${await getIdToken()}`; } -- GitLab