【发布时间】:2021-09-22 06:58:51
【问题描述】:
我在我的 Java 应用程序中使用了 reCAPTCHA,并且有一种类似于以下代码的方法:
登录请求:
public class LoginRequest {
@NotEmpty
private String token;
@NotEmpty
private String username;
@NotEmpty
private String password;
}
登录控制器:
public class LoginController {
private final Validator validator;
@Value("${isDevelopment}")
private boolean isDevelopment;
public LoginController(Validator validator) {
this.validator = validator;
}
public User login(LoginRequest request) {
if(isDevelopment || validator.isValid(request.token)) {
// ...
}
throw new InvalidTokenException();
}
}
在这种方法中,我想使用应用程序开发环境变量isDevelopment 绕过验证。但是,我不确定是否有更优雅的方式。因为reCAPTCHA 被广泛使用,很可能会有更好的标准用于此目的。在开发过程中如何绕过 reCAPTCHA?
更新:这是我的Validator 课程:
@Component
@RequiredArgsConstructor
public class CaptchaValidator {
private final RecaptchaEnterpriseServiceClient client;
@Value("${enabled}")
private boolean isEnabled;
public boolean isValid(String token) {
// code omitted
}
}
【问题讨论】:
标签: java spring recaptcha invisible-recaptcha recaptcha-v3