Change /user/:id/verifyPassword back to a GET, allow email+username as ids as well
This commit is contained in:
parent
22f3b3dd72
commit
9054974f55
@ -304,7 +304,7 @@ public final class APIv3 extends AbstractVerticle {
|
|||||||
mainRouter.get("/user/:id/meta/:serverGroup").blockingHandler(new GETUserMeta(), false);
|
mainRouter.get("/user/:id/meta/:serverGroup").blockingHandler(new GETUserMeta(), false);
|
||||||
mainRouter.get("/user/:id/permissions").blockingHandler(new GETUserPermissions(), false);
|
mainRouter.get("/user/:id/permissions").blockingHandler(new GETUserPermissions(), false);
|
||||||
mainRouter.get("/user/:id/requiresTOTP").blockingHandler(new GETUserRequiresTOTP(), false);
|
mainRouter.get("/user/:id/requiresTOTP").blockingHandler(new GETUserRequiresTOTP(), false);
|
||||||
mainRouter.post("/user/:id/verifyPassword").blockingHandler(new POSTUserVerifyPassword(), false);
|
mainRouter.get("/user/:id/verifyPassword").blockingHandler(new GETUserVerifyPassword(), false);
|
||||||
mainRouter.post("/user/confirmRegister/:emailToken").blockingHandler(new POSTUserConfirmRegister(), false);
|
mainRouter.post("/user/confirmRegister/:emailToken").blockingHandler(new POSTUserConfirmRegister(), false);
|
||||||
mainRouter.post("/user/:id/leave").handler(new POSTUserLeave());
|
mainRouter.post("/user/:id/leave").handler(new POSTUserLeave());
|
||||||
mainRouter.post("/user/:id/login").blockingHandler(new POSTUserLogin());
|
mainRouter.post("/user/:id/login").blockingHandler(new POSTUserLogin());
|
||||||
|
@ -70,6 +70,10 @@ public final class User {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static User findByEmailSync(String email) {
|
||||||
|
return SyncUtils.blockOne(usersCollection.find(new Document("email", email)));
|
||||||
|
}
|
||||||
|
|
||||||
public static User findByEmailTokenSync(String emailToken) {
|
public static User findByEmailTokenSync(String emailToken) {
|
||||||
return SyncUtils.blockOne(usersCollection.find(new Document("emailToken", emailToken)));
|
return SyncUtils.blockOne(usersCollection.find(new Document("emailToken", emailToken)));
|
||||||
}
|
}
|
||||||
|
@ -7,11 +7,19 @@ import net.frozenorb.apiv3.APIv3;
|
|||||||
import net.frozenorb.apiv3.model.User;
|
import net.frozenorb.apiv3.model.User;
|
||||||
import net.frozenorb.apiv3.util.ErrorUtils;
|
import net.frozenorb.apiv3.util.ErrorUtils;
|
||||||
|
|
||||||
public final class POSTUserVerifyPassword implements Handler<RoutingContext> {
|
public final class GETUserVerifyPassword implements Handler<RoutingContext> {
|
||||||
|
|
||||||
public void handle(RoutingContext ctx) {
|
public void handle(RoutingContext ctx) {
|
||||||
User user = User.findByIdSync(ctx.request().getParam("id"));
|
User user = User.findByIdSync(ctx.request().getParam("id"));
|
||||||
|
|
||||||
|
if (user == null) {
|
||||||
|
user = User.findByLastUsernameSync(ctx.request().getParam("id"));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (user == null) {
|
||||||
|
user = User.findByEmailSync(ctx.request().getParam("id"));
|
||||||
|
}
|
||||||
|
|
||||||
if (user == null) {
|
if (user == null) {
|
||||||
ErrorUtils.respondNotFound(ctx, "User", ctx.request().getParam("id"));
|
ErrorUtils.respondNotFound(ctx, "User", ctx.request().getParam("id"));
|
||||||
return;
|
return;
|
||||||
@ -22,7 +30,7 @@ public final class POSTUserVerifyPassword implements Handler<RoutingContext> {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean authorized = user.checkPassword(ctx.getBodyAsJson().getString("password"));
|
boolean authorized = user.checkPassword(ctx.request().getParam("password"));
|
||||||
|
|
||||||
APIv3.respondJson(ctx, ImmutableMap.of(
|
APIv3.respondJson(ctx, ImmutableMap.of(
|
||||||
"authorized", authorized
|
"authorized", authorized
|
Loading…
Reference in New Issue
Block a user