Require GeneratedOneTimeTokenHandler on constructor

Issue gh-15114
This commit is contained in:
Marcus Hert Da Coregio 2024-09-17 08:21:26 -03:00
parent 54d683fd6b
commit a88a7744ed
2 changed files with 8 additions and 16 deletions

View File

@ -133,8 +133,8 @@ public final class OneTimeTokenLoginConfigurer<H extends HttpSecurityBuilder<H>>
} }
private void configureOttGenerateFilter(H http) { private void configureOttGenerateFilter(H http) {
GenerateOneTimeTokenFilter generateFilter = new GenerateOneTimeTokenFilter(getOneTimeTokenService(http)); GenerateOneTimeTokenFilter generateFilter = new GenerateOneTimeTokenFilter(getOneTimeTokenService(http),
generateFilter.setGeneratedOneTimeTokenHandler(getGeneratedOneTimeTokenHandler(http)); getGeneratedOneTimeTokenHandler(http));
generateFilter.setRequestMatcher(antMatcher(HttpMethod.POST, this.generateTokenUrl)); generateFilter.setRequestMatcher(antMatcher(HttpMethod.POST, this.generateTokenUrl));
http.addFilter(postProcess(generateFilter)); http.addFilter(postProcess(generateFilter));
http.addFilter(DefaultResourcesFilter.css()); http.addFilter(DefaultResourcesFilter.css());

View File

@ -45,14 +45,16 @@ public final class GenerateOneTimeTokenFilter extends OncePerRequestFilter {
private final OneTimeTokenService oneTimeTokenService; private final OneTimeTokenService oneTimeTokenService;
private final GeneratedOneTimeTokenHandler generatedOneTimeTokenHandler;
private RequestMatcher requestMatcher = antMatcher(HttpMethod.POST, "/ott/generate"); private RequestMatcher requestMatcher = antMatcher(HttpMethod.POST, "/ott/generate");
private GeneratedOneTimeTokenHandler generatedOneTimeTokenHandler = new RedirectGeneratedOneTimeTokenHandler( public GenerateOneTimeTokenFilter(OneTimeTokenService oneTimeTokenService,
"/login/ott"); GeneratedOneTimeTokenHandler generatedOneTimeTokenHandler) {
public GenerateOneTimeTokenFilter(OneTimeTokenService oneTimeTokenService) {
Assert.notNull(oneTimeTokenService, "oneTimeTokenService cannot be null"); Assert.notNull(oneTimeTokenService, "oneTimeTokenService cannot be null");
Assert.notNull(generatedOneTimeTokenHandler, "generatedOneTimeTokenHandler cannot be null");
this.oneTimeTokenService = oneTimeTokenService; this.oneTimeTokenService = oneTimeTokenService;
this.generatedOneTimeTokenHandler = generatedOneTimeTokenHandler;
} }
@Override @Override
@ -81,14 +83,4 @@ public final class GenerateOneTimeTokenFilter extends OncePerRequestFilter {
this.requestMatcher = requestMatcher; this.requestMatcher = requestMatcher;
} }
/**
* Specifies {@link GeneratedOneTimeTokenHandler} to be used to handle generated
* one-time tokens
* @param generatedOneTimeTokenHandler
*/
public void setGeneratedOneTimeTokenHandler(GeneratedOneTimeTokenHandler generatedOneTimeTokenHandler) {
Assert.notNull(generatedOneTimeTokenHandler, "generatedOneTimeTokenHandler cannot be null");
this.generatedOneTimeTokenHandler = generatedOneTimeTokenHandler;
}
} }