diff --git a/authentication-module/src/main/java/net/jami/jams/authmodule/TokenController.java b/authentication-module/src/main/java/net/jami/jams/authmodule/TokenController.java index e3397e2025eb0171ccac7278d6a0d284b0e1f0e5..82f19cdaad7d77a6525604b4624cfecbb8fb5326 100644 --- a/authentication-module/src/main/java/net/jami/jams/authmodule/TokenController.java +++ b/authentication-module/src/main/java/net/jami/jams/authmodule/TokenController.java @@ -32,7 +32,7 @@ public class TokenController extends Timer { StringBuilder username = new StringBuilder(); tokenMap.forEach( (k,v) -> { if(v.getToken().equals(token)){ - username.append(v.getToken()); + username.append(k); } }); if(username.length() != 0) return username.toString(); diff --git a/integration-test/install-server.py b/integration-test/install-server.py index 000e390ecd2e41cbc8dc5857def09cef6f2a1da3..5e899d0a19cad3f556feefa417b1445b6bc29ae1 100644 --- a/integration-test/install-server.py +++ b/integration-test/install-server.py @@ -66,7 +66,50 @@ data['userLifetime'] = 100000 data['deviceLifetime'] = 100000 response = requests.post('http://localhost:8080/api/install/settings',data=json.dumps(data),headers=header) + +#This completes the install, now we'll try to enroll. + +data = {} +response = requests.post('http://localhost:8080/api/auth/login',data={"username":"fsidokhine","password":"mes87hesm97daa"}) if response.status_code == 200: - print("Finished Installation Successfully!") -else: - print("Could not finish installation") \ No newline at end of file + token = json.loads(response.text)['token'] + +header = {} +header['x-token'] = token + + +#Now we try this... + +data = {} +data['deviceName'] = "Felix Galaxy S8" +data['csr'] = '''-----BEGIN NEW CERTIFICATE REQUEST----- +MIIElTCCAn0CAQAwUDEUMBIGA1UEAxMLSmFtaSBkZXZpY2UxODA2BgoJkiaJk/Is +ZAEBEyg5MzE3MWRiNGI2NTMzOWNjNjM5MGRjYWI5MTQ4MWE0NTYxYzE2YWRmMIIC +IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA9z561c3zxvj/6VIPC94fg3Hg +S+8Ap6BGGnuaLuJN0AzdzF15ST+SKV/9faIkvH7GUvb+dEitCbQsCmvhG7MDqdUY +jMacLfc4YOM9xOTCi8Zi9+5pAhcxIQQqcT4l/WDo9bwsQmn41REI+KC4sHjqO4/9 +2TsWMoCjKM8qv8mhk+ndPGjzTuh2ZoGazXtZYn8KidTKv9X7UK7coDjEx/bjZf1x +nF14atVmhk8sGADRbfKmIsjBo9O89Cn3bljfxRH6ix12tZv1GXtwr8jfMEEEMWct +6kmT0R4tMoAl4ccPTRyFjS5H3VF4flk49LH64XygGA53X/OQPWqxDgIIYAIQV0+7 +vlW1XH1TIdblx2Vo8MH99n2CXq611yU8OkI82HHzc1fwtV0ounlzOdi0ESuyDGKs +jPNHbZ1YLHq9oOehDSjspvafoKVO1GSUs6p1uYkdng8M2qskKS1WrSdPNxSBo3Hc +gQqb/DXkQ8N6Z0AasqERmAk4uwqSohx8xoTw7/ZnI0awZh4+UTou+znKGbVCARI6 +BYd6tM1Ve43+YMB9rydzOhvrq9tOIKa9mFa807QjmxL4BFOMULVD3LePcrzebQ7h +Pd7P4BbyeQ5KOD735bBu/PZp4prWCBRVY/bG/6JLfQeR1XOgUs0FDqjXQR8uq1J+ +MYCuLGr9sdJlwKBYaK0CAwEAAaAAMA0GCSqGSIb3DQEBDAUAA4ICAQCI5HYjgi8j +d/4HoYYuidva1zwxVKbqzjCfghIpc56W2iTdM/XnFZyMrL+HuDQH0uqAKoydTU2S +QYeGK1e5vJbZspt6QlMgNPsp9gxWWx+Wsu4TFDdvJXNvieLuqPZE93X/8DO6D5ck +ptIJxWa4qFNdSKzx6V40lmr6V4YwX4r65rMtpIyzcLemqcbP4I0IOt8R1WHQJJSQ +vU2gkZzuw1lfi+807pQw+X022OLiKykSeEO8bwACXuxQ0zQawV/kz97v+z7NoSvg +iAz2YrQryTt9AhJZJZ4Omj/IrGGvKvQAzDzGMC0R4x8qD6FJsXjgFXeTdVoM7U9+ +N/sMc1v9oMuzqnCUB6aYPjiowhFWTydCNx2Axs1vfPnFV/yVmtEx2zOVV0xymgQA +pl/NMaBq6QGYUFhw9sOq6HKzHNdOf00zf4jgJkNMTXQFuN0ORqHcTM0sgFh5uL3q +mh4TqluVO6ubq0Y8ORaIc4Nxzy0VY7B/VOr9izWCHwMTzaqrZgBAPEH7mc72rFV8 +oTBLLnRmdyi/SFreL5WRhMm67DHne08LCqnkzEVwMIUECN5f2mkx9KP3BrsXuH2W ++1hKj+xMws8oZdLouSmo84Ie31cjBbgss/lWzauDkFVcJ7wZXi4xAxL/sCDIu/+y +sxMmX+s/PapsdSyUJ2g3hAf6Iv5m0pcUeQ== +-----END NEW CERTIFICATE REQUEST-----''' + +response = requests.post('http://localhost:8080/api/auth/device',headers=header,data=json.dumps(data)) +print(response.status_code) +print(response.text) \ No newline at end of file diff --git a/jams-server/src/main/java/net/jami/jams/server/core/workflows/RegisterDeviceFlow.java b/jams-server/src/main/java/net/jami/jams/server/core/workflows/RegisterDeviceFlow.java index 3619d05aa85c7e098ca353e065db4deaf8d1ee9c..541e78a81bf1b869e3e7fa22124a8d38df57ae07 100644 --- a/jams-server/src/main/java/net/jami/jams/server/core/workflows/RegisterDeviceFlow.java +++ b/jams-server/src/main/java/net/jami/jams/server/core/workflows/RegisterDeviceFlow.java @@ -40,6 +40,7 @@ public class RegisterDeviceFlow { device.getCertificate().getPublicKey(), user.getEthAddress()); response.setDeviceReceipt(devReceipt[0]); response.setReceiptSignature(devReceipt[1]); + response.setDisplayName(device.getDisplayName()); //We need to set response.setNameServer(nameServer.getURI()); UserProfile userProfile = userAuthenticationModule.getAuthSources() diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/filters/APIFilter.java b/jams-server/src/main/java/net/jami/jams/server/servlets/filters/APIFilter.java index e78ff3502632ed119c69a3f9e0078b63150969a8..a3b674066f8d987a926cf3634115a038b946a1ac 100644 --- a/jams-server/src/main/java/net/jami/jams/server/servlets/filters/APIFilter.java +++ b/jams-server/src/main/java/net/jami/jams/server/servlets/filters/APIFilter.java @@ -28,7 +28,7 @@ public class APIFilter implements Filter { if (request.getHeader("x-token") != null) authsuccess = userAuthenticationModule.validateAndGetUsername(request.getHeader("x-token")) != null; if (authsuccess || isLogin){ - servletRequest.setAttribute("username",authsuccess); + servletRequest.setAttribute("username",userAuthenticationModule.validateAndGetUsername(request.getHeader("x-token"))); filterChain.doFilter(servletRequest, servletResponse); } else response.sendError(403,"This endpoint requires setup to be complete!");