Skip to content

Commit 3088c15

Browse files
singhbaljitjzheaux
authored andcommitted
make logging consistent for Jwt issuer resolvers
1 parent 46564d6 commit 3088c15

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

oauth2/oauth2-resource-server/src/main/java/org/springframework/security/oauth2/server/resource/authentication/JwtIssuerAuthenticationManagerResolver.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,8 @@ public AuthenticationManager resolve(String issuer) {
192192
return authenticationManager;
193193
}
194194
else {
195-
this.logger.debug("Did not resolve AuthenticationManager since issuer is not trusted");
195+
this.logger.debug(LogMessage
196+
.format("Did not resolve AuthenticationManager since issuer '%s' is not trusted", issuer));
196197
}
197198
return null;
198199
}

oauth2/oauth2-resource-server/src/main/java/org/springframework/security/oauth2/server/resource/authentication/JwtIssuerReactiveAuthenticationManagerResolver.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,13 @@
2525
import java.util.function.Predicate;
2626

2727
import com.nimbusds.jwt.JWTParser;
28+
import org.apache.commons.logging.Log;
29+
import org.apache.commons.logging.LogFactory;
2830
import reactor.core.publisher.Mono;
2931
import reactor.core.scheduler.Schedulers;
3032

3133
import org.springframework.core.convert.converter.Converter;
34+
import org.springframework.core.log.LogMessage;
3235
import org.springframework.lang.NonNull;
3336
import org.springframework.security.authentication.AuthenticationManager;
3437
import org.springframework.security.authentication.ReactiveAuthenticationManager;
@@ -169,6 +172,8 @@ public Mono<String> convert(@NonNull BearerTokenAuthenticationToken token) {
169172
static class TrustedIssuerJwtAuthenticationManagerResolver
170173
implements ReactiveAuthenticationManagerResolver<String> {
171174

175+
private final Log logger = LogFactory.getLog(getClass());
176+
172177
private final Map<String, Mono<ReactiveAuthenticationManager>> authenticationManagers = new ConcurrentHashMap<>();
173178

174179
private final Predicate<String> trustedIssuer;
@@ -180,11 +185,14 @@ static class TrustedIssuerJwtAuthenticationManagerResolver
180185
@Override
181186
public Mono<ReactiveAuthenticationManager> resolve(String issuer) {
182187
if (!this.trustedIssuer.test(issuer)) {
188+
this.logger.debug(LogMessage
189+
.format("Did not resolve AuthenticationManager since issuer '%s' is not trusted", issuer));
183190
return Mono.empty();
184191
}
185192
// @formatter:off
186193
return this.authenticationManagers.computeIfAbsent(issuer,
187194
(k) -> Mono.<ReactiveAuthenticationManager>fromCallable(() -> new JwtReactiveAuthenticationManager(ReactiveJwtDecoders.fromIssuerLocation(k)))
195+
.doOnNext((manager) -> this.logger.debug(LogMessage.format("Resolved AuthenticationManager for issuer '%s'", issuer)))
188196
.subscribeOn(Schedulers.boundedElastic())
189197
.cache((manager) -> Duration.ofMillis(Long.MAX_VALUE), (ex) -> Duration.ZERO, () -> Duration.ZERO)
190198
);

0 commit comments

Comments
 (0)