diff --git a/integration-test/install-server.py b/integration-test/install-server.py index e9a9de7ec000cdf8efd1203936a76a3ac0279d96..92db810f18c855bc902a3f1fb19e957136d1afb6 100644 --- a/integration-test/install-server.py +++ b/integration-test/install-server.py @@ -70,7 +70,7 @@ response = requests.post('http://localhost:8080/api/install/settings',data=json. #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"}) +response = requests.post('http://localhost:8080/api/login',data={"username":"fsidokhine","password":"mes87hesm97daa"}) if response.status_code == 200: token = json.loads(response.text)['access_token'] @@ -127,4 +127,4 @@ 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 +print(response.text) diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/login/LoginServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/LoginServlet.java similarity index 83% rename from jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/login/LoginServlet.java rename to jams-server/src/main/java/net/jami/jams/server/servlets/LoginServlet.java index 66d01c9fcee8f03247fcc6240090489eb7a3224d..acc90b792d3c750fe355a9b4ef08c5ce72229849 100644 --- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/login/LoginServlet.java +++ b/jams-server/src/main/java/net/jami/jams/server/servlets/LoginServlet.java @@ -20,8 +20,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <https://www.gnu.org/licenses/>. */ -package net.jami.jams.server.servlets.api.auth.login; +package net.jami.jams.server.servlets; +import com.jsoniter.JsonIterator; import com.jsoniter.output.JsonStream; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; @@ -29,6 +30,8 @@ import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import net.jami.jams.common.authmodule.AuthTokenResponse; +import net.jami.jams.common.objects.user.UserProfile; +import net.minidev.json.JSONObject; import java.io.IOException; import java.security.cert.X509Certificate; @@ -36,17 +39,18 @@ import java.security.cert.X509Certificate; import static net.jami.jams.server.servlets.api.auth.login.AuthRequestProcessor.processUsernamePasswordAuth; import static net.jami.jams.server.servlets.api.auth.login.AuthRequestProcessor.processX509Auth; -@WebServlet("/api/auth/login") +@WebServlet("/api/login") //This method returns the token which is used for all the next calls to the API. public class LoginServlet extends HttpServlet { @Override - protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException { //There are 3 possible cases here. //Case 1: form submitted username/password AuthTokenResponse res = null; - if(req.getParameter("username") != null && req.getParameter("password") != null){ - res = processUsernamePasswordAuth(req.getParameter("username"),req.getParameter("password")); + JSONObject object = JsonIterator.deserialize(req.getInputStream().readAllBytes(), JSONObject.class); + if(object.get("username") != null && object.get("password") != null){ + res = processUsernamePasswordAuth(object.get("username").toString(), object.get("password").toString()); } //Case 2: Authorization header. if(req.getHeader("authorization") != null){