diff --git a/integration-test/install-server.py b/integration-test/install-server.py index 6e96c067285a88aa5c1f8984689f640dfe75c8f2..e9a9de7ec000cdf8efd1203936a76a3ac0279d96 100644 --- a/integration-test/install-server.py +++ b/integration-test/install-server.py @@ -123,4 +123,8 @@ print(response.text) response = requests.get("http://localhost:8080//api/auth/directories",headers=header) print(response.status_code) +print(response.text) + +response = requests.get("http://localhost:8080/api/auth/user",headers=header) +print(response.status_code) print(response.text) \ No newline at end of file diff --git a/jams-server/src/main/java/module-info.java b/jams-server/src/main/java/module-info.java index 7e05ebd76b4032cf1a245d3b4db0f63a6a2273cd..0b8802eb5b96b345c85c0e841148cf123db020c9 100644 --- a/jams-server/src/main/java/module-info.java +++ b/jams-server/src/main/java/module-info.java @@ -22,6 +22,7 @@ module jams.server { exports net.jami.jams.server.servlets.api.auth.login to org.apache.tomcat.embed.core; exports net.jami.jams.server.servlets.api.auth.device to org.apache.tomcat.embed.core; exports net.jami.jams.server.servlets.api.auth.directory to org.apache.tomcat.embed.core; + exports net.jami.jams.server.servlets.api.auth.user to org.apache.tomcat.embed.core; exports net.jami.jams.server.servlets.api.install to org.apache.tomcat.embed.core; @@ -29,4 +30,5 @@ module jams.server { exports net.jami.jams.server.servlets.api.jaminameserver to org.apache.tomcat.embed.core; exports net.jami.jams.server.servlets.x509 to org.apache.tomcat.embed.core; + } \ No newline at end of file diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/user/UserServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/user/UserServlet.java index 9093abfa2b62d7ddd2e2a446f9ce0acfc4ff9cb1..c89b7bd944511ba3c00f6e35b08d594d7b31d498 100644 --- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/user/UserServlet.java +++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/user/UserServlet.java @@ -1,5 +1,6 @@ package net.jami.jams.server.servlets.api.auth.user; +import com.jsoniter.output.JsonStream; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; @@ -19,7 +20,11 @@ public class UserServlet extends HttpServlet { //User can "read" his own profile. @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { - super.doGet(req, resp); + String username = req.getAttribute("username").toString(); + StatementList select = new StatementList(); + StatementElement st = new StatementElement("username","=",username,""); + select.addStatement(st); + resp.getOutputStream().write(JsonStream.serialize(dataStore.getUserDao().getObjects(select).get(0)).getBytes()); } //The user can update 3 fields: password,privatekey,publickey @@ -27,7 +32,7 @@ public class UserServlet extends HttpServlet { @Override protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String username = req.getAttribute("username").toString(); - //Check if he is AD/LDAP - then return a 403, because we can't set such password. + //Check if he is AD/LDAP - then return a 401, because we can't set such password. StatementList select = new StatementList(); StatementElement st = new StatementElement("username","=",username,""); if(dataStore.getUserDao().getObjects(select).get(0).getUserType() != AuthenticationSourceType.LOCAL){