diff --git a/src/main/java/net/frozenorb/apiv3/auditLog/AuditLogActionType.java b/src/main/java/net/frozenorb/apiv3/auditLog/AuditLogActionType.java index 8a02057..5c77fdd 100644 --- a/src/main/java/net/frozenorb/apiv3/auditLog/AuditLogActionType.java +++ b/src/main/java/net/frozenorb/apiv3/auditLog/AuditLogActionType.java @@ -37,6 +37,8 @@ public enum AuditLogActionType { SERVER_CREATE(false), SERVER_UPDATE(false), SERVER_DELETE(false), + USER_LOGIN_SUCCESS(false), + USER_LOGIN_FAIL(false), USER_CHANGE_PASSWORD(false), USER_PASSWORD_RESET(false), USER_REGISTER_EMAIL(false), diff --git a/src/main/java/net/frozenorb/apiv3/route/users/GETUsersIdVerifyPassword.java b/src/main/java/net/frozenorb/apiv3/route/users/GETUsersIdVerifyPassword.java index feda602..0d0237c 100644 --- a/src/main/java/net/frozenorb/apiv3/route/users/GETUsersIdVerifyPassword.java +++ b/src/main/java/net/frozenorb/apiv3/route/users/GETUsersIdVerifyPassword.java @@ -4,10 +4,14 @@ import com.google.common.collect.ImmutableMap; import io.vertx.core.Handler; import io.vertx.ext.web.RoutingContext; import net.frozenorb.apiv3.APIv3; +import net.frozenorb.apiv3.auditLog.AuditLog; +import net.frozenorb.apiv3.auditLog.AuditLogActionType; import net.frozenorb.apiv3.model.User; import net.frozenorb.apiv3.unsorted.BlockingCallback; import net.frozenorb.apiv3.util.ErrorUtils; +import java.util.UUID; + public final class GETUsersIdVerifyPassword implements Handler { public void handle(RoutingContext ctx) { @@ -37,12 +41,19 @@ public final class GETUsersIdVerifyPassword implements Handler { return; } + final UUID finalUuid = user.getId(); boolean authorized = user.checkPassword(ctx.request().getParam("password")); - APIv3.respondJson(ctx, ImmutableMap.of( - "authorized", authorized, - "uuid", user.getId() - )); + AuditLog.log(user.getId(), ctx.request().getParam("userIp"), ctx, authorized ? AuditLogActionType.USER_LOGIN_SUCCESS : AuditLogActionType.USER_LOGIN_FAIL, (ignored, error) -> { + if (error != null) { + ErrorUtils.respondInternalError(ctx, error); + } else { + APIv3.respondJson(ctx, ImmutableMap.of( + "authorized", authorized, + "uuid", finalUuid + )); + } + }); } }