[java-idp-plugin-oidc-rp] branch main updated: JOIDCRP-41 - Upgrade for IdP V5 compatibility
Phil Smart
philip.smart at jisc.ac.uk
Fri Jul 21 10:53:53 UTC 2023
This is an automated email from the git hooks/post-receive script.
philsmart pushed a commit to branch main
in repository java-idp-plugin-oidc-rp.
View the commit online:
http://git.shibboleth.net/view/?p=java-idp-plugin-oidc-rp.git;a=commit;h=558e98c109a6f582204fceb1f45aef082986ffc3
The following commit(s) were added to refs/heads/main by this push:
new 558e98c JOIDCRP-41 - Upgrade for IdP V5 compatibility
558e98c is described below
commit 558e98c109a6f582204fceb1f45aef082986ffc3
Author: Phil Smart <philip.smart at jisc.ac.uk>
AuthorDate: Fri Jul 21 11:53:35 2023 +0100
JOIDCRP-41 - Upgrade for IdP V5 compatibility
- Update for Java17 e.g. instanceof and stream operations
https://shibboleth.atlassian.net/browse/JOIDCRP-41
---
.../navigate/ExtraAudiencesLookupStrategy.java | 4 ++--
.../rp/config/navigate/MaxAgeLookupFunction.java | 8 ++++----
...viderMetadataStringListValueLookupFunction.java | 7 +++----
.../config/navigate/RedirectUriLookupFunction.java | 5 ++---
.../UserInfoHttpRequestMethodLookupStrategy.java | 4 ++--
.../AuthenticationRequestTimeLookupFunction.java | 4 ++--
.../navigate/IDTokenJOSEHeaderLookupStrategy.java | 4 ++--
.../navigate/RequestObjectTokenUpdateStrategy.java | 4 ++--
...earerTokenForClientAuthenticationPredicate.java | 5 ++---
.../logic/RequestObjectRequiredAndSupported.java | 5 ++---
.../RequiresSignatureVerificationPredicate.java | 5 ++---
.../context/logic/UserInfoLookupCondition.java | 8 +++-----
...WTClaimsSetFromRequestObjectLookupFunction.java | 4 ++--
.../PayloadFromRequestObjectLookupFunction.java | 8 ++++----
...tObjectSupportedSignatureSigningAlgorithms.java | 3 +--
.../rp/principal/OAuth2AccessTokenPrincipal.java | 4 ++--
.../rp/principal/OAuth2RefreshTokenPrincipal.java | 4 ++--
.../principal/OIDCSubjectIdentifierPrincipal.java | 4 ++--
.../ProxyAuthenticationFlowAuditExtractor.java | 3 +--
.../oidc/rp/impl/AuthorizationController.java | 4 ++--
.../authn/oidc/rp/impl/BuildRequestObject.java | 4 +---
.../oidc/rp/impl/ExchangeCodeForAccessToken.java | 6 +++---
...izeOAuth2ClientAuthenticationMethodHandler.java | 10 +++++-----
.../rp/impl/InitializeOAuth2ClientContext.java | 4 ++--
.../impl/ValidateAuthenticationResponseResult.java | 4 ++--
.../oidc/rp/impl/ValidateOIDCAuthentication.java | 19 +++++--------------
...CAuthenticationRequestActionMessageHandler.java | 4 ++--
...actOIDCAuthenticationRequestMessageHandler.java | 4 ++--
...uthenticationContextClassReferencesHandler.java | 3 +--
.../impl/AddPassiveAuthenticationHandler.java | 4 ++--
...henticationRequestNonceClaimLookupStrategy.java | 4 ++--
...tAuthenticationConfigurationLookupFunction.java | 3 +--
.../impl/NonceValidationActivationCondition.java | 4 ++--
.../oidc/rp/impl/OIDCRPFlowPreRedirectTest.java | 1 +
.../plugin/authn/oidc/rp/impl/OIDCRPFlowTest.java | 4 ++--
.../flow-test/flows/authn/authn-events-flow.xml | 22 ++++++++++++++++++++++
36 files changed, 99 insertions(+), 98 deletions(-)
diff --git a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/ExtraAudiencesLookupStrategy.java b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/ExtraAudiencesLookupStrategy.java
index 0bff712..eafeacc 100644
--- a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/ExtraAudiencesLookupStrategy.java
+++ b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/ExtraAudiencesLookupStrategy.java
@@ -60,8 +60,8 @@ public class ExtraAudiencesLookupStrategy implements BiFunction<ProfileRequestCo
final RelyingPartyContext rpc = relyingPartyContextLookupStrategy.apply(prc);
if (rpc != null) {
final ProfileConfiguration pc = rpc.getProfileConfig();
- if (pc instanceof OIDCIDTokenProducingProfileConfiguration) {
- return ((OIDCIDTokenProducingProfileConfiguration)pc).getAdditionalAudiencesForIdToken(prc);
+ if (pc instanceof OIDCIDTokenProducingProfileConfiguration config) {
+ return config.getAdditionalAudiencesForIdToken(prc);
}
}
return Collections.emptySet();
diff --git a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/MaxAgeLookupFunction.java b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/MaxAgeLookupFunction.java
index e03d00b..2cf54f5 100644
--- a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/MaxAgeLookupFunction.java
+++ b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/MaxAgeLookupFunction.java
@@ -59,8 +59,8 @@ public class MaxAgeLookupFunction extends AbstractRelyingPartyLookupFunction<Dur
authenticationRequestLookupStrategy = prc -> {
if (prc.getOutboundMessageContext() != null && prc.getOutboundMessageContext().getMessage() != null &&
- prc.getOutboundMessageContext().getMessage() instanceof OIDCAuthenticationRequest) {
- return (OIDCAuthenticationRequest)prc.getOutboundMessageContext().getMessage();
+ prc.getOutboundMessageContext().getMessage() instanceof OIDCAuthenticationRequest request) {
+ return request;
}
return null;
};
@@ -94,8 +94,8 @@ public class MaxAgeLookupFunction extends AbstractRelyingPartyLookupFunction<Dur
final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
if (rpc != null) {
final ProfileConfiguration pc = rpc.getProfileConfig();
- if (pc instanceof OIDCAuthenticationProfileConfiguration){
- final Duration maxAge = ((OIDCAuthenticationProfileConfiguration)pc).getMaxAuthenticationAge(input);
+ if (pc instanceof OIDCAuthenticationProfileConfiguration config){
+ final Duration maxAge = config.getMaxAuthenticationAge(input);
if (maxAge == null) {
return maxAgeDefault;
} else {
diff --git a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/ProviderMetadataStringListValueLookupFunction.java b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/ProviderMetadataStringListValueLookupFunction.java
index 7d2afe0..85d12a2 100644
--- a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/ProviderMetadataStringListValueLookupFunction.java
+++ b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/ProviderMetadataStringListValueLookupFunction.java
@@ -22,7 +22,6 @@ import java.util.List;
import java.util.Objects;
import java.util.function.Function;
import java.util.function.Predicate;
-import java.util.stream.Collectors;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -70,8 +69,8 @@ public class ProviderMetadataStringListValueLookupFunction implements Function<O
log.trace("No value found for the key {}", keyName);
return null;
}
- if (value instanceof String) {
- return List.of((String)value);
+ if (value instanceof String strValue) {
+ return List.of(strValue);
}
if (value instanceof List) {
final List<?> valueAsList = (List<?>)value;
@@ -80,7 +79,7 @@ public class ProviderMetadataStringListValueLookupFunction implements Function<O
.filter(String.class::isInstance)
.map(String.class::cast)
.filter(Predicate.not(String::isEmpty))
- .collect(Collectors.toList()));
+ .toList());
}
return null;
diff --git a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/RedirectUriLookupFunction.java b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/RedirectUriLookupFunction.java
index 74bf760..3116728 100644
--- a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/RedirectUriLookupFunction.java
+++ b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/RedirectUriLookupFunction.java
@@ -39,10 +39,9 @@ public class RedirectUriLookupFunction extends AbstractRelyingPartyLookupFunctio
final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
if (rpc != null) {
final ProfileConfiguration pc = rpc.getProfileConfig();
- if (pc instanceof OIDCAuthenticationRelyingPartyProfileConfiguration) {
+ if (pc instanceof OIDCAuthenticationRelyingPartyProfileConfiguration config) {
try {
- final String uriString = ((OIDCAuthenticationRelyingPartyProfileConfiguration) pc)
- .getRedirectUriOverride(input);
+ final String uriString = config.getRedirectUriOverride(input);
return uriString != null ? new URI(uriString): null;
} catch (final URISyntaxException e) {
return null;
diff --git a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/UserInfoHttpRequestMethodLookupStrategy.java b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/UserInfoHttpRequestMethodLookupStrategy.java
index 0cedd0b..1c7f957 100644
--- a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/UserInfoHttpRequestMethodLookupStrategy.java
+++ b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/UserInfoHttpRequestMethodLookupStrategy.java
@@ -38,8 +38,8 @@ public class UserInfoHttpRequestMethodLookupStrategy extends AbstractRelyingPart
final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
if (rpc != null) {
final ProfileConfiguration pc = rpc.getProfileConfig();
- if (pc instanceof OIDCAuthenticationRelyingPartyProfileConfiguration){
- return ((OIDCAuthenticationRelyingPartyProfileConfiguration)pc).getUserInfoHttpRequestMethod(input);
+ if (pc instanceof OIDCAuthenticationRelyingPartyProfileConfiguration rpConfig){
+ return rpConfig.getUserInfoHttpRequestMethod(input);
}
}
return HttpRequestMethod.GET;
diff --git a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/context/navigate/AuthenticationRequestTimeLookupFunction.java b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/context/navigate/AuthenticationRequestTimeLookupFunction.java
index 65bf593..c6fa0f5 100644
--- a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/context/navigate/AuthenticationRequestTimeLookupFunction.java
+++ b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/context/navigate/AuthenticationRequestTimeLookupFunction.java
@@ -49,8 +49,8 @@ public class AuthenticationRequestTimeLookupFunction implements Function<Profile
public AuthenticationRequestTimeLookupFunction() {
authenticationRequestLookupStrategy = prc -> {
if (prc.getOutboundMessageContext() != null && prc.getOutboundMessageContext().getMessage() != null &&
- prc.getOutboundMessageContext().getMessage() instanceof OIDCAuthenticationRequest) {
- return (OIDCAuthenticationRequest)prc.getOutboundMessageContext().getMessage();
+ prc.getOutboundMessageContext().getMessage() instanceof OIDCAuthenticationRequest authnRequest) {
+ return authnRequest;
}
return null;
};
diff --git a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/context/navigate/IDTokenJOSEHeaderLookupStrategy.java b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/context/navigate/IDTokenJOSEHeaderLookupStrategy.java
index 8842e16..b06b3fc 100644
--- a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/context/navigate/IDTokenJOSEHeaderLookupStrategy.java
+++ b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/context/navigate/IDTokenJOSEHeaderLookupStrategy.java
@@ -60,8 +60,8 @@ public class IDTokenJOSEHeaderLookupStrategy extends AbstractTokenResponseLookup
return null;
}
final Header header = tokenContext.getTokenResponse().getOIDCTokens().getIDToken().getHeader();
- if (header instanceof JWSHeader) {
- return (JWSHeader) header;
+ if (header instanceof JWSHeader jwsHeader) {
+ return jwsHeader;
}
return null;
}
diff --git a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/context/navigate/RequestObjectTokenUpdateStrategy.java b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/context/navigate/RequestObjectTokenUpdateStrategy.java
index cf5e786..e3abbe2 100644
--- a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/context/navigate/RequestObjectTokenUpdateStrategy.java
+++ b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/context/navigate/RequestObjectTokenUpdateStrategy.java
@@ -44,8 +44,8 @@ public class RequestObjectTokenUpdateStrategy implements BiConsumer<JWT, Message
/** Constructor.*/
public RequestObjectTokenUpdateStrategy() {
authenticationRequestLookupStrategy = mc -> {
- if (mc.getMessage() instanceof OIDCAuthenticationRequest) {
- return (OIDCAuthenticationRequest)mc.getMessage();
+ if (mc.getMessage() instanceof OIDCAuthenticationRequest request) {
+ return request;
}
return null;
};
diff --git a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/logic/JWTBearerTokenForClientAuthenticationPredicate.java b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/logic/JWTBearerTokenForClientAuthenticationPredicate.java
index c415d9b..19ec9c6 100644
--- a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/logic/JWTBearerTokenForClientAuthenticationPredicate.java
+++ b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/logic/JWTBearerTokenForClientAuthenticationPredicate.java
@@ -53,9 +53,8 @@ public class JWTBearerTokenForClientAuthenticationPredicate extends AbstractRely
final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
if (rpc != null) {
final ProfileConfiguration pc = rpc.getProfileConfig();
- if (pc instanceof OIDCAuthenticationRelyingPartyProfileConfiguration) {
- final String authMethod =
- ((OIDCAuthenticationRelyingPartyProfileConfiguration) pc).getTokenEndpointAuthMethod(prc);
+ if (pc instanceof OIDCAuthenticationRelyingPartyProfileConfiguration config) {
+ final String authMethod = config.getTokenEndpointAuthMethod(prc);
final ClientAuthenticationMethod method = new ClientAuthenticationMethod(authMethod);
if (method.equals(ClientAuthenticationMethod.CLIENT_SECRET_JWT) ||
method.equals(ClientAuthenticationMethod.PRIVATE_KEY_JWT)) {
diff --git a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/logic/RequestObjectRequiredAndSupported.java b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/logic/RequestObjectRequiredAndSupported.java
index eccfee3..f7986bd 100644
--- a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/logic/RequestObjectRequiredAndSupported.java
+++ b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/logic/RequestObjectRequiredAndSupported.java
@@ -74,9 +74,8 @@ public class RequestObjectRequiredAndSupported extends AbstractRelyingPartyPredi
boolean requestObjectRequestedFromConfig = false;
final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
- if (rpc != null && rpc.getProfileConfig() instanceof OIDCAuthenticationRelyingPartyProfileConfiguration) {
- requestObjectRequestedFromConfig = ((OIDCAuthenticationRelyingPartyProfileConfiguration)
- rpc.getProfileConfig()).isUseRequestObject(input);
+ if (rpc != null && rpc.getProfileConfig() instanceof OIDCAuthenticationRelyingPartyProfileConfiguration rpConfig) {
+ requestObjectRequestedFromConfig = rpConfig.isUseRequestObject(input);
}
final OIDCProviderMetadataContext metadata = oidcProviderMetadataContextLookupStrategy.apply(input);
diff --git a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/logic/RequiresSignatureVerificationPredicate.java b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/logic/RequiresSignatureVerificationPredicate.java
index aba8dea..ed6489a 100644
--- a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/logic/RequiresSignatureVerificationPredicate.java
+++ b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/logic/RequiresSignatureVerificationPredicate.java
@@ -72,9 +72,8 @@ public class RequiresSignatureVerificationPredicate extends AbstractRelyingParty
boolean tlsServerValidationOnly = false;
final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(msgContext);
- if (rpc != null && rpc.getProfileConfig() instanceof OIDCAuthenticationRelyingPartyProfileConfiguration) {
- tlsServerValidationOnly = ((OIDCAuthenticationRelyingPartyProfileConfiguration)
- rpc.getProfileConfig()).isTlsServerValidationSufficient(prc);
+ if (rpc != null && rpc.getProfileConfig() instanceof OIDCAuthenticationRelyingPartyProfileConfiguration rpConfig) {
+ tlsServerValidationOnly = rpConfig.isTlsServerValidationSufficient(prc);
}
final AbstractAuthenticatableOIDCContext authContext =
diff --git a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/logic/UserInfoLookupCondition.java b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/logic/UserInfoLookupCondition.java
index abd9c64..5689f91 100644
--- a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/logic/UserInfoLookupCondition.java
+++ b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/logic/UserInfoLookupCondition.java
@@ -39,11 +39,9 @@ public class UserInfoLookupCondition implements Predicate<ProfileRequestContext>
}
final RelyingPartyContext rpCtx = prc.getSubcontext(RelyingPartyContext.class);
if (rpCtx != null && rpCtx.getProfileConfig() != null &&
- rpCtx.getProfileConfig() instanceof OIDCAuthenticationRelyingPartyProfileConfiguration) {
- final OIDCAuthenticationRelyingPartyProfileConfiguration profileConfiguration =
- (OIDCAuthenticationRelyingPartyProfileConfiguration) rpCtx.getProfileConfig();
- return profileConfiguration.isRetrieveUserInfoEndpointClaims(prc);
- }
+ rpCtx.getProfileConfig() instanceof OIDCAuthenticationRelyingPartyProfileConfiguration rpConfig) {
+ return rpConfig.isRetrieveUserInfoEndpointClaims(prc);
+ }
// Perform user info lookup by default if no config found
return true;
diff --git a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/navigate/JWTClaimsSetFromRequestObjectLookupFunction.java b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/navigate/JWTClaimsSetFromRequestObjectLookupFunction.java
index 09f829b..a0e8d9a 100644
--- a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/navigate/JWTClaimsSetFromRequestObjectLookupFunction.java
+++ b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/navigate/JWTClaimsSetFromRequestObjectLookupFunction.java
@@ -48,8 +48,8 @@ public class JWTClaimsSetFromRequestObjectLookupFunction implements Function<Mes
/** Constructor.*/
public JWTClaimsSetFromRequestObjectLookupFunction() {
authenticationRequestLookupStrategy = mc -> {
- if (mc.getMessage() instanceof OIDCAuthenticationRequest) {
- return (OIDCAuthenticationRequest)mc.getMessage();
+ if (mc.getMessage() instanceof OIDCAuthenticationRequest request) {
+ return request;
}
return null;
};
diff --git a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/navigate/PayloadFromRequestObjectLookupFunction.java b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/navigate/PayloadFromRequestObjectLookupFunction.java
index c57abd4..3bf58db 100644
--- a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/navigate/PayloadFromRequestObjectLookupFunction.java
+++ b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/navigate/PayloadFromRequestObjectLookupFunction.java
@@ -50,8 +50,8 @@ public class PayloadFromRequestObjectLookupFunction implements Function<MessageC
/** Constructor.*/
public PayloadFromRequestObjectLookupFunction() {
authenticationRequestLookupStrategy = mc -> {
- if (mc.getMessage() instanceof OIDCAuthenticationRequest) {
- return (OIDCAuthenticationRequest)mc.getMessage();
+ if (mc.getMessage() instanceof OIDCAuthenticationRequest request) {
+ return request;
}
return null;
};
@@ -74,8 +74,8 @@ public class PayloadFromRequestObjectLookupFunction implements Function<MessageC
return null;
}
final OIDCAuthenticationRequest authnRequest = authenticationRequestLookupStrategy.apply(messageContext);
- if (authnRequest.getRequestObject() instanceof SignedJWT) {
- return new Payload((SignedJWT) authnRequest.getRequestObject());
+ if (authnRequest.getRequestObject() instanceof SignedJWT signedJwt) {
+ return new Payload(signedJwt);
} else if (authnRequest.getRequestObject() instanceof PlainJWT) {
try {
return new Payload(authnRequest.getRequestObject().getJWTClaimsSet().getClaims());
diff --git a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/navigate/RequestObjectSupportedSignatureSigningAlgorithms.java b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/navigate/RequestObjectSupportedSignatureSigningAlgorithms.java
index f8e8c09..d150996 100644
--- a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/navigate/RequestObjectSupportedSignatureSigningAlgorithms.java
+++ b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/navigate/RequestObjectSupportedSignatureSigningAlgorithms.java
@@ -19,7 +19,6 @@ package net.shibboleth.idp.plugin.authn.oidc.rp.messaging.context.navigate;
import java.util.List;
import java.util.function.Function;
-import java.util.stream.Collectors;
import javax.annotation.Nullable;
@@ -39,7 +38,7 @@ public class RequestObjectSupportedSignatureSigningAlgorithms implements Functio
return null;
}
return metadata.getRequestObjectJWSAlgs()
- .stream().map(JWSAlgorithm::getName).collect(Collectors.toList());
+ .stream().map(JWSAlgorithm::getName).toList();
}
}
diff --git a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/principal/OAuth2AccessTokenPrincipal.java b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/principal/OAuth2AccessTokenPrincipal.java
index e3a9faa..509ccfd 100644
--- a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/principal/OAuth2AccessTokenPrincipal.java
+++ b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/principal/OAuth2AccessTokenPrincipal.java
@@ -100,8 +100,8 @@ public class OAuth2AccessTokenPrincipal implements CloneablePrincipal {
return true;
}
- if (other instanceof OAuth2AccessTokenPrincipal) {
- return accessToken.equals(((OAuth2AccessTokenPrincipal) other).getName());
+ if (other instanceof OAuth2AccessTokenPrincipal principal) {
+ return accessToken.equals(principal.getName());
}
return false;
diff --git a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/principal/OAuth2RefreshTokenPrincipal.java b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/principal/OAuth2RefreshTokenPrincipal.java
index 1c56f1b..e4d354c 100644
--- a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/principal/OAuth2RefreshTokenPrincipal.java
+++ b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/principal/OAuth2RefreshTokenPrincipal.java
@@ -66,8 +66,8 @@ public class OAuth2RefreshTokenPrincipal implements CloneablePrincipal {
return true;
}
- if (other instanceof OAuth2RefreshTokenPrincipal) {
- return refreshToken.equals(((OAuth2RefreshTokenPrincipal) other).getName());
+ if (other instanceof OAuth2RefreshTokenPrincipal principal) {
+ return refreshToken.equals(principal.getName());
}
return false;
diff --git a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/principal/OIDCSubjectIdentifierPrincipal.java b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/principal/OIDCSubjectIdentifierPrincipal.java
index 7fc00ea..5e5d207 100644
--- a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/principal/OIDCSubjectIdentifierPrincipal.java
+++ b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/principal/OIDCSubjectIdentifierPrincipal.java
@@ -66,8 +66,8 @@ public class OIDCSubjectIdentifierPrincipal implements CloneablePrincipal {
return true;
}
- if (other instanceof OIDCSubjectIdentifierPrincipal) {
- return subject.equals(((OIDCSubjectIdentifierPrincipal) other).getName());
+ if (other instanceof OIDCSubjectIdentifierPrincipal principal) {
+ return subject.equals(principal.getName());
}
return false;
diff --git a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/audit/impl/ProxyAuthenticationFlowAuditExtractor.java b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/audit/impl/ProxyAuthenticationFlowAuditExtractor.java
index 7826025..9df64e6 100644
--- a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/audit/impl/ProxyAuthenticationFlowAuditExtractor.java
+++ b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/audit/impl/ProxyAuthenticationFlowAuditExtractor.java
@@ -39,8 +39,7 @@ public class ProxyAuthenticationFlowAuditExtractor implements Function<ProfileRe
if (input != null) {
final BaseContext baseContext = input.getParent();
- if (baseContext instanceof AuthenticationContext) {
- final AuthenticationContext authnCtx = (AuthenticationContext)baseContext;
+ if (baseContext instanceof AuthenticationContext authnCtx) {;
if (authnCtx.getAttemptedFlow()!= null) {
return authnCtx.getAttemptedFlow().getId();
}
diff --git a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/AuthorizationController.java b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/AuthorizationController.java
index 25b8c9b..0cc81b8 100644
--- a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/AuthorizationController.java
+++ b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/AuthorizationController.java
@@ -275,8 +275,8 @@ public class AuthorizationController extends AbstractInitializableComponent {
// Find which response mode to expect from that set in the authentication request
OIDCAuthenticationRequest authnRequest = null;
if (nestedPRC.getOutboundMessageContext() != null &&
- nestedPRC.getOutboundMessageContext().getMessage() instanceof OIDCAuthenticationRequest) {
- authnRequest = (OIDCAuthenticationRequest) nestedPRC.getOutboundMessageContext().getMessage();
+ nestedPRC.getOutboundMessageContext().getMessage() instanceof OIDCAuthenticationRequest authenticationRequest) {
+ authnRequest = authenticationRequest;
}
if (authnRequest == null) {
diff --git a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/BuildRequestObject.java b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/BuildRequestObject.java
index 7875437..4e90f67 100644
--- a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/BuildRequestObject.java
+++ b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/BuildRequestObject.java
@@ -20,7 +20,6 @@ package net.shibboleth.idp.plugin.authn.oidc.rp.impl;
import java.time.Duration;
import java.util.function.Function;
import java.util.function.Predicate;
-import java.util.stream.Collectors;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -251,8 +250,7 @@ public class BuildRequestObject extends AbstractAuthenticationAction {
// Only add ACR values as acr_values if the provider does not support the 'claims' claim.
final String acrString = String.join(" ", authnRequest.getAcrs()
.stream()
- .map(ACR::getValue)
- .collect(Collectors.toUnmodifiableList()));
+ .map(ACR::getValue).toList());
requestObjectClaims.setClaim("acr_values", acrString);
}
diff --git a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ExchangeCodeForAccessToken.java b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ExchangeCodeForAccessToken.java
index 1439fae..2eb4a1e 100644
--- a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ExchangeCodeForAccessToken.java
+++ b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ExchangeCodeForAccessToken.java
@@ -97,10 +97,10 @@ public class ExchangeCodeForAccessToken extends AbstractHttpOIDCAuthenticationAc
}
try {
final TokenResponse responseObject = handleRequest(profileRequestContext, responseCtx);
- if (responseObject instanceof OIDCTokenResponse) {
- responseCtx.setTokenResponse((OIDCTokenResponse)responseObject);
+ if (responseObject instanceof OIDCTokenResponse tokenResponse) {
+ responseCtx.setTokenResponse(tokenResponse);
log.trace("{} Token request response was successful '{}'",getLogPrefix(),
- ((OIDCTokenResponse)responseObject).indicatesSuccess());
+ tokenResponse.indicatesSuccess());
} else {
throw new OIDCRPException("Token response was not of the expected format, expected OIDC token "
+ "response, got " + responseObject.getClass().getSimpleName());
diff --git a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/InitializeOAuth2ClientAuthenticationMethodHandler.java b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/InitializeOAuth2ClientAuthenticationMethodHandler.java
index 172cc2f..841a183 100644
--- a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/InitializeOAuth2ClientAuthenticationMethodHandler.java
+++ b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/InitializeOAuth2ClientAuthenticationMethodHandler.java
@@ -237,8 +237,8 @@ public class InitializeOAuth2ClientAuthenticationMethodHandler extends AbstractM
final RelyingPartyContext rpCtx = relyingPartyContextLookupStrategy.compose(PRC_LOOKUP).apply(messageContext);
if (rpCtx != null && rpCtx.getConfiguration() != null &&
- rpCtx.getProfileConfig() instanceof OIDCAuthenticationRelyingPartyProfileConfiguration) {
- profileConfiguration = (OIDCAuthenticationRelyingPartyProfileConfiguration) rpCtx.getProfileConfig();
+ rpCtx.getProfileConfig() instanceof OIDCAuthenticationRelyingPartyProfileConfiguration rpConfig) {
+ profileConfiguration = rpConfig;
}
if (profileConfiguration == null) {
log.error("{} Profile configuration not found", getLogPrefix());
@@ -474,10 +474,10 @@ public class InitializeOAuth2ClientAuthenticationMethodHandler extends AbstractM
final JWSAlgorithm algorithm = new JWSAlgorithm(params.getSignatureAlgorithm());
final Credential credential = params.getSigningCredential();
- if (credential instanceof JWKCredential && !algorithm.equals(((JWKCredential) credential).getAlgorithm())) {
+ if (credential instanceof JWKCredential jwkCred && !algorithm.equals(jwkCred.getAlgorithm())) {
log.debug("{} Signature signing algorithm {} differs from JWK algorithm '{}'", getLogPrefix(),
- algorithm.getName(), ((JWKCredential) credential).getAlgorithm() != null ?
- ((JWKCredential) credential).getAlgorithm() : "not specified");
+ algorithm.getName(), jwkCred.getAlgorithm() != null ?
+ jwkCred.getAlgorithm() : "not specified");
}
log.trace("{} Algorithm resolved {}", getLogPrefix(), algorithm.getName());
return algorithm;
diff --git a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/InitializeOAuth2ClientContext.java b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/InitializeOAuth2ClientContext.java
index 198fe1b..1cb64cc 100644
--- a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/InitializeOAuth2ClientContext.java
+++ b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/InitializeOAuth2ClientContext.java
@@ -139,8 +139,8 @@ public class InitializeOAuth2ClientContext extends AbstractProfileAction {
final RelyingPartyContext rpCtx = relyingPartyContextLookupStrategy.apply(profileRequestContext);
if (rpCtx != null && rpCtx.getConfiguration() != null &&
- rpCtx.getProfileConfig() instanceof OIDCAuthenticationRelyingPartyProfileConfiguration) {
- profileConfiguration = (OIDCAuthenticationRelyingPartyProfileConfiguration) rpCtx.getProfileConfig();
+ rpCtx.getProfileConfig() instanceof OIDCAuthenticationRelyingPartyProfileConfiguration rpConfig) {
+ profileConfiguration = rpConfig;
}
if (profileConfiguration == null) {
log.error("{} OIDCAuthorizationConfiguration not found", getLogPrefix());
diff --git a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ValidateAuthenticationResponseResult.java b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ValidateAuthenticationResponseResult.java
index 2c3eec6..84589a0 100644
--- a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ValidateAuthenticationResponseResult.java
+++ b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ValidateAuthenticationResponseResult.java
@@ -60,8 +60,8 @@ public class ValidateAuthenticationResponseResult extends AbstractAuthentication
return false;
}
- if (inMsgContext.getMessage() instanceof AuthenticationResponse) {
- authenticationResponse = (AuthenticationResponse) inMsgContext.getMessage();
+ if (inMsgContext.getMessage() instanceof AuthenticationResponse response) {
+ authenticationResponse = response;
} else {
log.debug("{} Inbound message was not an authentication response", getLogPrefix());
ActionSupport.buildEvent(profileRequestContext, EventIds.INVALID_MSG_CTX);
diff --git a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ValidateOIDCAuthentication.java b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ValidateOIDCAuthentication.java
index 2fd8e77..ae3b3a6 100644
--- a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ValidateOIDCAuthentication.java
+++ b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ValidateOIDCAuthentication.java
@@ -74,7 +74,6 @@ import net.shibboleth.shared.annotation.constraint.Live;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
-import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.service.ReloadableService;
import net.shibboleth.shared.service.ServiceException;
@@ -231,13 +230,6 @@ public class ValidateOIDCAuthentication extends AbstractValidationAction {
attributeExtractionStrategy = strategy;
}
-
- /** {@inheritDoc} */
- @Override
- protected void doInitialize() throws ComponentInitializationException {
- super.doInitialize();
-
- }
// Checkstyle: CyclomaticComplexity|ReturnCount|MethodLength OFF
@Override
@@ -343,7 +335,7 @@ public class ValidateOIDCAuthentication extends AbstractValidationAction {
if (newAttributes != null) {
if (log.isDebugEnabled()) {
log.debug("{} Extracted attributes with custom strategy: {}", getLogPrefix(),
- newAttributes.stream().map(IdPAttribute::getId).collect(Collectors.toUnmodifiableList()));
+ newAttributes.stream().map(IdPAttribute::getId).toList());
}
attributes.addAll(newAttributes);
attributeContext.setIdPAttributes(attributes);
@@ -386,14 +378,13 @@ public class ValidateOIDCAuthentication extends AbstractValidationAction {
protected Subject populateSubject(@Nonnull final Subject subject) {
if (acrTranslator != null && endUserContext.getUnprocessedIdTokenClaims().getClaim("acr") != null
- && endUserContext.getUnprocessedIdTokenClaims().getClaim("acr") instanceof String) {
- final String acr = (String)endUserContext.getUnprocessedIdTokenClaims().getClaim("acr");
+ && endUserContext.getUnprocessedIdTokenClaims().getClaim("acr") instanceof String acr) {
final Collection<Principal> translated = acrTranslator.apply(List.of(acr));
if (translated != null && !translated.isEmpty()) {
subject.getPrincipals().addAll(translated);
if (log.isDebugEnabled()) {
log.debug("{} Added translated ACR Principals: {}", getLogPrefix(),
- translated.stream().map(Principal::getName).collect(Collectors.toUnmodifiableList()));
+ translated.stream().map(Principal::getName).toList());
}
}
}
@@ -407,7 +398,7 @@ public class ValidateOIDCAuthentication extends AbstractValidationAction {
subject.getPrincipals().addAll(translated);
if (log.isDebugEnabled()) {
log.debug("{} Added translated AMR Principals: {}", getLogPrefix(),
- translated.stream().map(Principal::getName).collect(Collectors.toUnmodifiableList()));
+ translated.stream().map(Principal::getName).toList());
}
}
} catch (final ParseException e) {
@@ -427,7 +418,7 @@ public class ValidateOIDCAuthentication extends AbstractValidationAction {
attributeContext.getIdPAttributes().values()
.stream()
.map(IdPAttributePrincipal::new)
- .collect(Collectors.toUnmodifiableList()));
+ .toList());
}
if (contextToPrivateCredentialsMappingStrategy != null) {
diff --git a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AbstractOIDCAuthenticationRequestActionMessageHandler.java b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AbstractOIDCAuthenticationRequestActionMessageHandler.java
index 6545df9..f135ad7 100644
--- a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AbstractOIDCAuthenticationRequestActionMessageHandler.java
+++ b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AbstractOIDCAuthenticationRequestActionMessageHandler.java
@@ -240,8 +240,8 @@ public abstract class AbstractOIDCAuthenticationRequestActionMessageHandler exte
}
final RelyingPartyContext rpCtx = adapt(relyingPartyContextLookupStrategy).apply(messageContext);
if (rpCtx != null && rpCtx.getConfiguration() != null &&
- rpCtx.getProfileConfig() instanceof OIDCAuthenticationRelyingPartyProfileConfiguration) {
- profileConfiguration = (OIDCAuthenticationRelyingPartyProfileConfiguration) rpCtx.getProfileConfig();
+ rpCtx.getProfileConfig() instanceof OIDCAuthenticationRelyingPartyProfileConfiguration rpConfig) {
+ profileConfiguration = rpConfig;
}
if (profileConfiguration == null) {
throw new MessageHandlerException("Profile configuration could not found");
diff --git a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AbstractOIDCAuthenticationRequestMessageHandler.java b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AbstractOIDCAuthenticationRequestMessageHandler.java
index 81e0ba1..7584ccc 100644
--- a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AbstractOIDCAuthenticationRequestMessageHandler.java
+++ b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AbstractOIDCAuthenticationRequestMessageHandler.java
@@ -61,8 +61,8 @@ public abstract class AbstractOIDCAuthenticationRequestMessageHandler extends Ab
outboundMessageHandlerContextLookupStrategy = new ChildContextLookup<>(OutboundMessageHandlerContext.class);
authenticationRequestLookupStrategy = mc -> {
- if (mc.getMessage() instanceof OIDCAuthenticationRequest) {
- return (OIDCAuthenticationRequest)mc.getMessage();
+ if (mc.getMessage() instanceof OIDCAuthenticationRequest request) {
+ return request;
}
return null;
};
diff --git a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddAuthenticationContextClassReferencesHandler.java b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddAuthenticationContextClassReferencesHandler.java
index 795b5a4..094f306 100644
--- a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddAuthenticationContextClassReferencesHandler.java
+++ b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddAuthenticationContextClassReferencesHandler.java
@@ -81,8 +81,7 @@ public class AddAuthenticationContextClassReferencesHandler
return principals.stream()
.filter(AuthenticationContextClassReferencePrincipal.class::isInstance)
.map(AuthenticationContextClassReferencePrincipal.class::cast)
- .map(p -> new ACR(p.getName()))
- .collect(Collectors.toUnmodifiableList());
+ .map(p -> new ACR(p.getName())).toList();
}
diff --git a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddPassiveAuthenticationHandler.java b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddPassiveAuthenticationHandler.java
index 6ebb7e7..5b46377 100644
--- a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddPassiveAuthenticationHandler.java
+++ b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddPassiveAuthenticationHandler.java
@@ -44,8 +44,8 @@ public class AddPassiveAuthenticationHandler extends AbstractOIDCAuthenticationR
final ProfileRequestContext prc = lookupProfileRequestContext(messageContext);
boolean isPassive = false;
- if (prc != null && prc.getParent() instanceof AuthenticationContext) {
- isPassive = ((AuthenticationContext) prc.getParent()).isPassive();
+ if (prc != null && prc.getParent() instanceof AuthenticationContext authnContext) {
+ isPassive = authnContext.isPassive();
}
if (isPassive) {
log.trace("{} Setting 'prompt=none' for OIDC AuthnRequest", getLogPrefix());
diff --git a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/security/impl/AuthenticationRequestNonceClaimLookupStrategy.java b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/security/impl/AuthenticationRequestNonceClaimLookupStrategy.java
index c7f5212..7b2a1a4 100644
--- a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/security/impl/AuthenticationRequestNonceClaimLookupStrategy.java
+++ b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/security/impl/AuthenticationRequestNonceClaimLookupStrategy.java
@@ -60,8 +60,8 @@ public final class AuthenticationRequestNonceClaimLookupStrategy
authenticationRequestLookupStrategy = prc -> {
final MessageContext messageContext = prc.getOutboundMessageContext();
if (messageContext != null &&
- messageContext.getMessage() instanceof OIDCAuthenticationRequest) {
- return (OIDCAuthenticationRequest)messageContext.getMessage();
+ messageContext.getMessage() instanceof OIDCAuthenticationRequest authnRequest) {
+ return authnRequest;
}
return null;
};
diff --git a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/security/impl/ClientAuthenticationConfigurationLookupFunction.java b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/security/impl/ClientAuthenticationConfigurationLookupFunction.java
index a69c174..ca6bf25 100644
--- a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/security/impl/ClientAuthenticationConfigurationLookupFunction.java
+++ b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/security/impl/ClientAuthenticationConfigurationLookupFunction.java
@@ -24,7 +24,6 @@ import java.util.List;
import java.util.Objects;
import java.util.function.Function;
import java.util.function.Predicate;
-import java.util.stream.Collectors;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -179,7 +178,7 @@ public class ClientAuthenticationConfigurationLookupFunction
final List<String> filtered = algorithms.stream()
.filter(Objects::nonNull).filter(Predicate.not(String::isEmpty)).map(JWSAlgorithm::parse)
- .filter(algFamily::contains).map(Algorithm::getName).collect(Collectors.toList());
+ .filter(algFamily::contains).map(Algorithm::getName).toList();
return Collections.unmodifiableList(filtered);
}
diff --git a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/security/impl/NonceValidationActivationCondition.java b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/security/impl/NonceValidationActivationCondition.java
index 18d4e5e..0108178 100644
--- a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/security/impl/NonceValidationActivationCondition.java
+++ b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/security/impl/NonceValidationActivationCondition.java
@@ -60,8 +60,8 @@ public class NonceValidationActivationCondition implements BiPredicate<ProfileRe
authenticationRequestLookupStrategy = prc -> {
final MessageContext messageContext = prc.getOutboundMessageContext();
if (messageContext != null &&
- messageContext.getMessage() instanceof OIDCAuthenticationRequest) {
- return (OIDCAuthenticationRequest)messageContext.getMessage();
+ messageContext.getMessage() instanceof OIDCAuthenticationRequest request) {
+ return request;
}
return null;
};
diff --git a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/OIDCRPFlowPreRedirectTest.java b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/OIDCRPFlowPreRedirectTest.java
index c87402b..df88a93 100644
--- a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/OIDCRPFlowPreRedirectTest.java
+++ b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/OIDCRPFlowPreRedirectTest.java
@@ -338,6 +338,7 @@ public class OIDCRPFlowPreRedirectTest extends OIDCRPFlowTest {
final var nestedPrc = prc.getSubcontext(AuthenticationContext.class).getSubcontext(ProfileRequestContext.class);
final OIDCAuthenticationRequest request =
(OIDCAuthenticationRequest) nestedPrc.getOutboundMessageContext().getMessage();
+ assertNotNull(request);
assertNull(request.getRequestObject());
assertNull(request.getRequestObjectClaimsSet());
assertNull(request.getRequestedClaims());
diff --git a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/OIDCRPFlowTest.java b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/OIDCRPFlowTest.java
index a3e06ef..38a4e05 100644
--- a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/OIDCRPFlowTest.java
+++ b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/OIDCRPFlowTest.java
@@ -198,12 +198,12 @@ public class OIDCRPFlowTest extends AbstractAuthnXmlFlowExecutionTests {
Map.of(
"classpath:flow-test/flows/authn/authn-abstract-flow.xml","authn.abstract",
"classpath:flow-test/flows/authn/conditions/conditions-flow.xml","authn/conditions",
- "classpath:/net/shibboleth/idp/module/conf/authn/authn-events-flow.xml","authn.events");
+ "classpath:flow-test/flows/authn/authn-events-flow.xml","authn.events");
/** Constructor.*/
public OIDCRPFlowTest() {
- super("http://idp.example.org");
+ super("http://idp.example.org");
}
diff --git a/idp-oidc-rp-impl/src/test/resources/flow-test/flows/authn/authn-events-flow.xml b/idp-oidc-rp-impl/src/test/resources/flow-test/flows/authn/authn-events-flow.xml
new file mode 100644
index 0000000..8846677
--- /dev/null
+++ b/idp-oidc-rp-impl/src/test/resources/flow-test/flows/authn/authn-events-flow.xml
@@ -0,0 +1,22 @@
+<flow xmlns="http://www.springframework.org/schema/webflow"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/webflow http://www.springframework.org/schema/webflow/spring-webflow.xsd"
+ abstract="true">
+
+ <!-- ADVANCED USE ONLY -->
+
+ <!--
+ You can ignore this file unless you are creating your own custom login subflows that want to
+ report custom events in response to unusual error or warning conditions.
+ -->
+
+ <!-- Custom error events to reflect back from user-supplied login subflows. -->
+
+ <!-- <end-state id="MyCustomEvent" /> -->
+
+ <global-transitions>
+ <!-- <transition on="MyCustomEvent" to="MyCustomEvent" /> -->
+ <transition on="#{!'proceed'.equals(currentEvent.id)}" to="InvalidEvent" />
+ </global-transitions>
+
+</flow>
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list