Formatting as well as adding a missing defer

Issue gh-15699
This commit is contained in:
Josh Cummings 2024-10-07 16:40:22 -06:00
parent 2ca2e56383
commit b26f2af5d5
3 changed files with 12 additions and 7 deletions

View File

@ -292,7 +292,8 @@ public class OneTimeTokenLoginSpecTests {
http http
.authorizeExchange((authorize) -> authorize .authorizeExchange((authorize) -> authorize
.anyExchange() .anyExchange()
.authenticated()) .authenticated()
)
.oneTimeTokenLogin((ott) -> ott .oneTimeTokenLogin((ott) -> ott
.generatedOneTimeTokenHandler(new TestServerGeneratedOneTimeTokenHandler()) .generatedOneTimeTokenHandler(new TestServerGeneratedOneTimeTokenHandler())
); );
@ -314,7 +315,8 @@ public class OneTimeTokenLoginSpecTests {
http http
.authorizeExchange((authorize) -> authorize .authorizeExchange((authorize) -> authorize
.anyExchange() .anyExchange()
.authenticated()) .authenticated()
)
.oneTimeTokenLogin((ott) -> ott .oneTimeTokenLogin((ott) -> ott
.generateTokenUrl("/generateurl") .generateTokenUrl("/generateurl")
.generatedOneTimeTokenHandler(new TestServerGeneratedOneTimeTokenHandler("/redirected")) .generatedOneTimeTokenHandler(new TestServerGeneratedOneTimeTokenHandler("/redirected"))
@ -339,7 +341,8 @@ public class OneTimeTokenLoginSpecTests {
http http
.authorizeExchange((authorize) -> authorize .authorizeExchange((authorize) -> authorize
.anyExchange() .anyExchange()
.authenticated()) .authenticated()
)
.formLogin(Customizer.withDefaults()) .formLogin(Customizer.withDefaults())
.oneTimeTokenLogin((ott) -> ott .oneTimeTokenLogin((ott) -> ott
.generatedOneTimeTokenHandler(new TestServerGeneratedOneTimeTokenHandler()) .generatedOneTimeTokenHandler(new TestServerGeneratedOneTimeTokenHandler())
@ -362,7 +365,8 @@ public class OneTimeTokenLoginSpecTests {
http http
.authorizeExchange((authorize) -> authorize .authorizeExchange((authorize) -> authorize
.anyExchange() .anyExchange()
.authenticated()) .authenticated()
)
.oneTimeTokenLogin(Customizer.withDefaults()); .oneTimeTokenLogin(Customizer.withDefaults());
// @formatter:on // @formatter:on
return http.build(); return http.build();

View File

@ -54,7 +54,7 @@ public final class OneTimeTokenReactiveAuthenticationManager implements Reactive
return Mono.empty(); return Mono.empty();
} }
return this.oneTimeTokenService.consume(otpAuthenticationToken) return this.oneTimeTokenService.consume(otpAuthenticationToken)
.switchIfEmpty(Mono.error(new InvalidOneTimeTokenException("Invalid token"))) .switchIfEmpty(Mono.defer(() -> Mono.error(new InvalidOneTimeTokenException("Invalid token"))))
.flatMap((consumed) -> this.userDetailsService.findByUsername(consumed.getUsername())) .flatMap((consumed) -> this.userDetailsService.findByUsername(consumed.getUsername()))
.map(onSuccess(otpAuthenticationToken)); .map(onSuccess(otpAuthenticationToken));
} }

View File

@ -58,8 +58,9 @@ public final class GenerateOneTimeTokenWebFilter implements WebFilter {
// @formatter:off // @formatter:off
return this.matcher.matches(exchange) return this.matcher.matches(exchange)
.filter(ServerWebExchangeMatcher.MatchResult::isMatch) .filter(ServerWebExchangeMatcher.MatchResult::isMatch)
.flatMap((mathResult) -> exchange.getFormData()) .switchIfEmpty(chain.filter(exchange).then(Mono.empty()))
.flatMap((data) -> Mono.justOrEmpty(data.getFirst(USERNAME))) .then(exchange.getFormData())
.mapNotNull((data) -> data.getFirst(USERNAME))
.switchIfEmpty(chain.filter(exchange).then(Mono.empty())) .switchIfEmpty(chain.filter(exchange).then(Mono.empty()))
.flatMap((username) -> this.oneTimeTokenService.generate(new GenerateOneTimeTokenRequest(username))) .flatMap((username) -> this.oneTimeTokenService.generate(new GenerateOneTimeTokenRequest(username)))
.flatMap((token) -> this.generatedOneTimeTokenHandler.handle(exchange, token)); .flatMap((token) -> this.generatedOneTimeTokenHandler.handle(exchange, token));