Skip to content
Snippets Groups Projects
Commit 4046c28a authored by Larbi Gharib's avatar Larbi Gharib
Browse files

Fix login user certificate revoked

Change-Id: I7d3d0d3224c04ec90dd1524a30d27d99cf1053fa
parent 4ddce1db
No related branches found
No related tags found
No related merge requests found
......@@ -30,9 +30,16 @@ import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import net.jami.jams.common.annotations.JsonContent;
import net.jami.jams.common.authmodule.AuthTokenResponse;
import net.jami.jams.common.dao.StatementElement;
import net.jami.jams.common.dao.StatementList;
import net.jami.jams.common.serialization.tomcat.TomcatCustomErrorHandler;
import net.jami.jams.server.servlets.api.auth.login.LoginRequest;
import static net.jami.jams.server.Server.certificateAuthority;
import static net.jami.jams.server.Server.dataStore;
import net.jami.jams.common.objects.user.User;
import java.io.IOException;
import java.security.cert.X509Certificate;
......@@ -73,6 +80,14 @@ public class LoginServlet extends HttpServlet {
LoginRequest object = JsonIterator.deserialize(req.getInputStream().readAllBytes(), LoginRequest.class);
if (object.getUsername() != null && object.getPassword() != null) {
res = processUsernamePasswordAuth(object.getUsername(), object.getPassword());
StatementList statementList = new StatementList();
StatementElement statementElement = new StatementElement("username", "=", object.getUsername(), "");
statementList.addStatement(statementElement);
User user = dataStore.getUserDao().getObjects(statementList).get(0);
if(certificateAuthority.getLatestCRL().get() != null) {
if(certificateAuthority.getLatestCRL().get().getRevokedCertificate(user.getCertificate().getSerialNumber()) != null)
TomcatCustomErrorHandler.sendCustomError(resp, 401, "Invalid credentials provided!");
}
}
}
if (res == null)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment