respect size and level parameters

* Add size and level parameters to ChallengeProvider.returnChallenge()
* Add size column to challenge table
* Pass size and level parameters to all relevant calls
* Add size field to demo app
This commit is contained in:
hrj
2022-03-01 22:51:38 +05:30
parent f0659da3eb
commit edd211fb52
18 changed files with 54 additions and 33 deletions

View File

@@ -81,7 +81,7 @@ public class FontFunCaptcha implements ChallengeProvider {
return baos.toByteArray();
}
public Challenge returnChallenge() {
public Challenge returnChallenge(String level, String size) {
String secret = HelperFunctions.randomString(7);
String path = "./lib/fonts/";
return new Challenge(fontFun(secret, "medium", path), "image/png", secret.toLowerCase());

View File

@@ -100,7 +100,7 @@ public class PoppingCharactersCaptcha implements ChallengeProvider {
"supportedInputType", List.of("text"));
}
public Challenge returnChallenge() {
public Challenge returnChallenge(String level, String size) {
final var secret = HelperFunctions.randomString(6);
return new Challenge(gifCaptcha(secret), "image/gif", secret.toLowerCase());
}

View File

@@ -74,7 +74,7 @@ public class ShadowTextCaptcha implements ChallengeProvider {
return baos.toByteArray();
}
public Challenge returnChallenge() {
public Challenge returnChallenge(String level, String size) {
String secret = HelperFunctions.randomString(6);
return new Challenge(shadowText(secret), "image/png", secret.toLowerCase());
}

View File

@@ -6,7 +6,7 @@ import java.util.List;
public interface ChallengeProvider {
public String getId();
public Challenge returnChallenge();
public Challenge returnChallenge(String level, String size);
public boolean checkAnswer(String secret, String answer);