[java-idp-oidc] 01/03: Null cleanup of api-module: messaging.context.*
Henri Mikkonen
henri.mikkonen at iki.fi
Wed Mar 27 16:14:02 UTC 2024
This is an automated email from the git hooks/post-receive script.
hjmikkon pushed a commit to branch main
in repository java-idp-oidc.
View the commit online:
http://git.shibboleth.net/view/?p=java-idp-oidc.git;a=commit;h=ab81c93860045020bb238005ad562ccf5d8349c9
commit ab81c93860045020bb238005ad562ccf5d8349c9
Author: Henri Mikkonen <henri.mikkonen at iki.fi>
AuthorDate: Wed Mar 27 17:36:02 2024 +0200
Null cleanup of api-module: messaging.context.*
---
.../OIDCAuthenticationResponseConsentContext.java | 4 +---
.../context/OIDCAuthenticationResponseContext.java | 2 +-
.../JWTClaimsSetFromIDTokenLookupFunction.java | 10 +++++++---
...WTClaimsSetFromJWTAccessTokenLookupFunction.java | 14 ++++++++++----
...JWTClaimsSetFromLogoutContextLookupFunction.java | 15 +++++++++++----
.../JWTClaimsSetFromUserInfoLookupFunction.java | 10 +++++++---
.../PayloadFromJWTAccessTokenLookupFunction.java | 16 +++++++++-------
.../logic/PayloadFromUserInfoLookupFunction.java | 21 +++++++++++++++------
.../context/logic/RequestedGrantTypesCondition.java | 17 +++++++++--------
.../navigate/AudienceClientIDLookupFunction.java | 6 ------
...ntRegistrationRequestMetadataLookupFunction.java | 3 ++-
...tRegistrationResponseMetadataLookupFunction.java | 16 ++++++++--------
...ntRegistrationRequestMetadataLookupFunction.java | 5 ++++-
13 files changed, 84 insertions(+), 55 deletions(-)
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/OIDCAuthenticationResponseConsentContext.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/OIDCAuthenticationResponseConsentContext.java
index 88e98c15..f6d01026 100644
--- a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/OIDCAuthenticationResponseConsentContext.java
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/OIDCAuthenticationResponseConsentContext.java
@@ -15,7 +15,6 @@
package net.shibboleth.idp.plugin.oidc.op.messaging.context;
import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
import org.opensaml.messaging.context.BaseContext;
import net.minidev.json.JSONArray;
@@ -27,8 +26,7 @@ import net.minidev.json.JSONArray;
public class OIDCAuthenticationResponseConsentContext extends BaseContext {
/** Attributes having consent. */
- @Nullable
- private JSONArray consentedAttributes;
+ @Nonnull private JSONArray consentedAttributes;
/**
* Constructor.
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/OIDCAuthenticationResponseContext.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/OIDCAuthenticationResponseContext.java
index e33673d7..96f91431 100644
--- a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/OIDCAuthenticationResponseContext.java
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/OIDCAuthenticationResponseContext.java
@@ -465,7 +465,7 @@ public class OIDCAuthenticationResponseContext extends BaseContext {
* @since 3.1.0
*/
public void setAccessToken(@Nullable final String token, @Nonnull final Duration lifeTime,
- @Nonnull final Scope scope) {
+ @Nullable final Scope scope) {
accessToken = token == null ? null : new BearerAccessToken(token, lifeTime.getSeconds(), scope);
}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/JWTClaimsSetFromIDTokenLookupFunction.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/JWTClaimsSetFromIDTokenLookupFunction.java
index b9e306c2..aaee707e 100644
--- a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/JWTClaimsSetFromIDTokenLookupFunction.java
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/JWTClaimsSetFromIDTokenLookupFunction.java
@@ -21,12 +21,13 @@ import javax.annotation.Nullable;
import org.opensaml.messaging.context.MessageContext;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import com.nimbusds.jwt.JWTClaimsSet;
import com.nimbusds.oauth2.sdk.ParseException;
+import com.nimbusds.openid.connect.sdk.claims.IDTokenClaimsSet;
import net.shibboleth.idp.plugin.oidc.op.messaging.context.OIDCAuthenticationResponseContext;
+import net.shibboleth.shared.primitive.LoggerFactory;
/**
* Extract the {@link JWTClaimsSet} from the id_token in {@link OIDCAuthenticationResponseContext}.
@@ -46,11 +47,14 @@ public class JWTClaimsSetFromIDTokenLookupFunction implements Function<MessageCo
}
final OIDCAuthenticationResponseContext oidcResponseCtx =
messageContext.getSubcontext(OIDCAuthenticationResponseContext.class);
- if (oidcResponseCtx == null || oidcResponseCtx.getIDToken() == null) {
+ if (oidcResponseCtx == null) {
return null;
}
+ final IDTokenClaimsSet claimsSet = oidcResponseCtx.getIDToken();
try {
- return oidcResponseCtx.getIDToken().toJWTClaimsSet();
+ if (claimsSet != null) {
+ return claimsSet.toJWTClaimsSet();
+ }
} catch (final ParseException e) {
log.error("Could not fetch the claims set from ID token", e);
}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/JWTClaimsSetFromJWTAccessTokenLookupFunction.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/JWTClaimsSetFromJWTAccessTokenLookupFunction.java
index eee20078..472a8de0 100644
--- a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/JWTClaimsSetFromJWTAccessTokenLookupFunction.java
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/JWTClaimsSetFromJWTAccessTokenLookupFunction.java
@@ -23,13 +23,14 @@ import javax.annotation.Nullable;
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.context.navigate.ChildContextLookup;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.nimbusds.jwt.JWT;
import com.nimbusds.jwt.JWTClaimsSet;
import net.shibboleth.idp.plugin.oidc.op.messaging.context.AccessTokenContext;
import net.shibboleth.idp.plugin.oidc.op.messaging.context.OIDCAuthenticationResponseContext;
import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.primitive.LoggerFactory;
/**
* Extract the {@link JWTClaimsSet} from the JWT in {@link AccessTokenContext}.
@@ -49,8 +50,10 @@ public class JWTClaimsSetFromJWTAccessTokenLookupFunction implements Function<Me
*/
public JWTClaimsSetFromJWTAccessTokenLookupFunction() {
// message context -> OIDC response context -> ATC
- accessTokenContextLookupStrategy = new ChildContextLookup<>(AccessTokenContext.class).compose(
+ final Function<MessageContext,AccessTokenContext> atcl = new ChildContextLookup<>(AccessTokenContext.class).compose(
new ChildContextLookup<>(OIDCAuthenticationResponseContext.class));
+ assert atcl != null;
+ accessTokenContextLookupStrategy = atcl;
}
/**
@@ -71,11 +74,14 @@ public class JWTClaimsSetFromJWTAccessTokenLookupFunction implements Function<Me
return null;
}
final AccessTokenContext tokenCtx = accessTokenContextLookupStrategy.apply(messageContext);
- if (tokenCtx == null || tokenCtx.getJWT() == null) {
+ if (tokenCtx == null) {
return null;
}
+ final JWT jwt = tokenCtx.getJWT();
try {
- return tokenCtx.getJWT().getJWTClaimsSet();
+ if (jwt != null) {
+ return jwt.getJWTClaimsSet();
+ }
} catch (final ParseException e) {
log.error("Could not fetch the claims set from JWT access token", e);
}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/JWTClaimsSetFromLogoutContextLookupFunction.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/JWTClaimsSetFromLogoutContextLookupFunction.java
index 461f28d2..74d77930 100644
--- a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/JWTClaimsSetFromLogoutContextLookupFunction.java
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/JWTClaimsSetFromLogoutContextLookupFunction.java
@@ -22,14 +22,15 @@ import javax.annotation.Nullable;
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.context.navigate.ChildContextLookup;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import com.nimbusds.jwt.JWTClaimsSet;
import com.nimbusds.oauth2.sdk.ParseException;
+import com.nimbusds.openid.connect.sdk.claims.LogoutTokenClaimsSet;
import net.shibboleth.idp.plugin.oidc.op.messaging.context.OIDCBackChannelLogoutPropagationContext;
import net.shibboleth.idp.plugin.oidc.op.messaging.context.OIDCLogoutPropagationContext;
import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.primitive.LoggerFactory;
/**
* Extract the {@link JWTClaimsSet} from the JWT in {@link OIDCBackChannelLogoutPropagationContext}.
@@ -49,8 +50,11 @@ public class JWTClaimsSetFromLogoutContextLookupFunction implements Function<Mes
*/
public JWTClaimsSetFromLogoutContextLookupFunction() {
// message context -> OIDC response context -> ATC
- logoutContextLookupStrategy = new ChildContextLookup<>(OIDCBackChannelLogoutPropagationContext.class).compose(
+ final Function<MessageContext,OIDCBackChannelLogoutPropagationContext> lcls =
+ new ChildContextLookup<>(OIDCBackChannelLogoutPropagationContext.class).compose(
new ChildContextLookup<>(OIDCLogoutPropagationContext.class));
+ assert lcls != null;
+ logoutContextLookupStrategy = lcls;
}
/**
@@ -71,11 +75,14 @@ public class JWTClaimsSetFromLogoutContextLookupFunction implements Function<Mes
return null;
}
final OIDCBackChannelLogoutPropagationContext tokenCtx = logoutContextLookupStrategy.apply(messageContext);
- if (tokenCtx == null || tokenCtx.getLogoutTokenClaimsSet() == null) {
+ if (tokenCtx == null) {
return null;
}
+ final LogoutTokenClaimsSet claimsSet = tokenCtx.getLogoutTokenClaimsSet();
try {
- return tokenCtx.getLogoutTokenClaimsSet().toJWTClaimsSet();
+ if (claimsSet != null) {
+ return claimsSet.toJWTClaimsSet();
+ }
} catch (final ParseException e) {
log.error("Could not fetch the claims set from the logout context token claims set", e);
}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/JWTClaimsSetFromUserInfoLookupFunction.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/JWTClaimsSetFromUserInfoLookupFunction.java
index f8896d1f..3d7a0e4b 100644
--- a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/JWTClaimsSetFromUserInfoLookupFunction.java
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/JWTClaimsSetFromUserInfoLookupFunction.java
@@ -22,13 +22,14 @@ import javax.annotation.Nullable;
import org.opensaml.messaging.context.MessageContext;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import com.nimbusds.jose.Payload;
import com.nimbusds.jwt.JWTClaimsSet;
import com.nimbusds.oauth2.sdk.ParseException;
+import com.nimbusds.openid.connect.sdk.claims.UserInfo;
import net.shibboleth.idp.plugin.oidc.op.messaging.context.OIDCAuthenticationResponseContext;
+import net.shibboleth.shared.primitive.LoggerFactory;
/**
* Extract the {@link Payload} from the user info in {@link OIDCAuthenticationResponseContext}.
@@ -48,11 +49,14 @@ public class JWTClaimsSetFromUserInfoLookupFunction implements Function<MessageC
}
final OIDCAuthenticationResponseContext oidcResponseCtx =
messageContext.getSubcontext(OIDCAuthenticationResponseContext.class);
- if (oidcResponseCtx == null || oidcResponseCtx.getUserInfo() == null) {
+ if (oidcResponseCtx == null) {
return null;
}
+ final UserInfo userInfo = oidcResponseCtx.getUserInfo();
try {
- return oidcResponseCtx.getUserInfo().toJWTClaimsSet();
+ if (userInfo != null) {
+ return userInfo.toJWTClaimsSet();
+ }
} catch (final ParseException e) {
log.error("Could not fetch the claims set from UserInfo response", e);
}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/PayloadFromJWTAccessTokenLookupFunction.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/PayloadFromJWTAccessTokenLookupFunction.java
index b9eaf970..9d9e7429 100644
--- a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/PayloadFromJWTAccessTokenLookupFunction.java
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/PayloadFromJWTAccessTokenLookupFunction.java
@@ -23,7 +23,6 @@ import javax.annotation.Nullable;
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.context.navigate.ChildContextLookup;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import com.nimbusds.jose.Payload;
import com.nimbusds.jwt.PlainJWT;
@@ -32,6 +31,7 @@ import com.nimbusds.jwt.SignedJWT;
import net.shibboleth.idp.plugin.oidc.op.messaging.context.AccessTokenContext;
import net.shibboleth.idp.plugin.oidc.op.messaging.context.OIDCAuthenticationResponseContext;
import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.primitive.LoggerFactory;
/**
* Extract the {@link Payload} from the JWT in {@link AccessTokenContext}.
@@ -51,8 +51,10 @@ public class PayloadFromJWTAccessTokenLookupFunction implements Function<Message
*/
public PayloadFromJWTAccessTokenLookupFunction() {
// message context -> OIDC response context -> ATC
- accessTokenContextLookupStrategy = new ChildContextLookup<>(AccessTokenContext.class).compose(
- new ChildContextLookup<>(OIDCAuthenticationResponseContext.class));
+ final Function<MessageContext,AccessTokenContext> atcls = new ChildContextLookup<>(AccessTokenContext.class)
+ .compose(new ChildContextLookup<>(OIDCAuthenticationResponseContext.class));
+ assert atcls != null;
+ accessTokenContextLookupStrategy = atcls;
}
/**
@@ -75,11 +77,11 @@ public class PayloadFromJWTAccessTokenLookupFunction implements Function<Message
if (tokenCtx == null || tokenCtx.getJWT() == null) {
return null;
}
- if (tokenCtx.getJWT() instanceof SignedJWT) {
- return new Payload((SignedJWT) tokenCtx.getJWT());
- } else if (tokenCtx.getJWT() instanceof PlainJWT) {
+ if (tokenCtx.getJWT() instanceof SignedJWT signedJwt) {
+ return new Payload(signedJwt);
+ } else if (tokenCtx.getJWT() instanceof PlainJWT plainJwt) {
try {
- return new Payload(tokenCtx.getJWT().getJWTClaimsSet().getClaims());
+ return new Payload(plainJwt.getJWTClaimsSet().getClaims());
} catch (final ParseException e) {
log.error("Unable to convert plaintext JWT to claims set", e);
}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/PayloadFromUserInfoLookupFunction.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/PayloadFromUserInfoLookupFunction.java
index 8aef455b..7e69ef1d 100644
--- a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/PayloadFromUserInfoLookupFunction.java
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/PayloadFromUserInfoLookupFunction.java
@@ -22,6 +22,8 @@ import javax.annotation.Nullable;
import org.opensaml.messaging.context.MessageContext;
import com.nimbusds.jose.Payload;
+import com.nimbusds.jwt.JWT;
+import com.nimbusds.openid.connect.sdk.claims.UserInfo;
import net.shibboleth.idp.plugin.oidc.op.messaging.context.OIDCAuthenticationResponseContext;
@@ -39,13 +41,20 @@ public class PayloadFromUserInfoLookupFunction implements Function<MessageContex
}
final OIDCAuthenticationResponseContext oidcResponseCtx =
messageContext.getSubcontext(OIDCAuthenticationResponseContext.class);
- if (oidcResponseCtx == null ||
- (oidcResponseCtx.getUserInfo() == null && oidcResponseCtx.getProcessedToken() == null)) {
+ if (oidcResponseCtx == null) {
return null;
}
- return oidcResponseCtx.getProcessedToken() == null
- ? new Payload(oidcResponseCtx.getUserInfo().toJSONObject())
- : new Payload(oidcResponseCtx.getProcessedToken().serialize());
- }
+ final JWT jwt = oidcResponseCtx.getProcessedToken();
+ if (jwt != null) {
+ return new Payload(jwt.serialize());
+ }
+
+ final UserInfo userInfo = oidcResponseCtx.getUserInfo();
+ if (userInfo != null) {
+ return new Payload(userInfo.toJSONObject());
+ }
+
+ return null;
+ }
}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/RequestedGrantTypesCondition.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/RequestedGrantTypesCondition.java
index 2d4764a1..d58db07f 100644
--- a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/RequestedGrantTypesCondition.java
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/RequestedGrantTypesCondition.java
@@ -14,7 +14,6 @@
package net.shibboleth.idp.plugin.oidc.op.messaging.context.logic;
import java.util.Collection;
-import java.util.Collections;
import java.util.Set;
import java.util.function.Predicate;
@@ -27,6 +26,7 @@ import com.nimbusds.oauth2.sdk.GrantType;
import com.nimbusds.oauth2.sdk.TokenRequest;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.collection.CollectionSupport;
/**
* Checks whether a {@link TokenRequest} was for one of a set of candidate grant_type values.
@@ -38,7 +38,7 @@ public class RequestedGrantTypesCondition implements Predicate<ProfileRequestCon
/** Constructor. */
public RequestedGrantTypesCondition() {
- candidates = Collections.emptySet();
+ candidates = CollectionSupport.emptySet();
}
/**
@@ -47,17 +47,18 @@ public class RequestedGrantTypesCondition implements Predicate<ProfileRequestCon
* @param types candidate types
*/
public void setGrantTypes(@Nonnull @NonnullElements final Collection<GrantType> types) {
- candidates = Set.copyOf(types);
+ candidates = CollectionSupport.copyToSet(types);
}
/** {@inheritDoc} */
public boolean test(@Nullable final ProfileRequestContext input) {
- if (input.getInboundMessageContext() != null) {
- final Object message = input.getInboundMessageContext().getMessage();
- if (message instanceof TokenRequest) {
- return candidates.contains(((TokenRequest) message).getAuthorizationGrant().getType());
- }
+ if (input == null || input.getInboundMessageContext() == null) {
+ return false;
}
+ final Object message = input.ensureInboundMessageContext().getMessage();
+ if (message instanceof TokenRequest tokenRequest) {
+ return candidates.contains(tokenRequest.getAuthorizationGrant().getType());
+ }
return false;
}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/navigate/AudienceClientIDLookupFunction.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/navigate/AudienceClientIDLookupFunction.java
index 1a916f98..d7e73cac 100644
--- a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/navigate/AudienceClientIDLookupFunction.java
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/navigate/AudienceClientIDLookupFunction.java
@@ -14,13 +14,10 @@
package net.shibboleth.idp.plugin.oidc.op.messaging.context.navigate;
-import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.context.navigate.ContextDataLookupFunction;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import com.nimbusds.oauth2.sdk.id.ClientID;
@@ -33,9 +30,6 @@ import net.shibboleth.idp.plugin.oidc.op.messaging.context.OIDCAuthenticationRes
*/
public class AudienceClientIDLookupFunction implements ContextDataLookupFunction<MessageContext,ClientID> {
- /** Class logger. */
- @Nonnull private Logger log = LoggerFactory.getLogger(AudienceClientIDLookupFunction.class);
-
/** {@inheritDoc} */
@Nullable public ClientID apply(@Nullable final MessageContext input) {
if (input != null) {
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/navigate/OIDCClientRegistrationRequestMetadataLookupFunction.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/navigate/OIDCClientRegistrationRequestMetadataLookupFunction.java
index 505215ee..f4e0f69d 100644
--- a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/navigate/OIDCClientRegistrationRequestMetadataLookupFunction.java
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/navigate/OIDCClientRegistrationRequestMetadataLookupFunction.java
@@ -21,11 +21,12 @@ import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.context.navigate.ContextDataLookupFunction;
import org.opensaml.profile.context.ProfileRequestContext;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import com.nimbusds.openid.connect.sdk.rp.OIDCClientMetadata;
import com.nimbusds.openid.connect.sdk.rp.OIDCClientRegistrationRequest;
+import net.shibboleth.shared.primitive.LoggerFactory;
+
/**
* A function that returns {@link OIDCClientMetadata} if such is available in the message from a {@link MessageContext}
* obtained via {@link ProfileRequestContext#getInboundMessageContext()}.
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/navigate/OIDCClientRegistrationResponseMetadataLookupFunction.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/navigate/OIDCClientRegistrationResponseMetadataLookupFunction.java
index 84504a5b..c96841a4 100644
--- a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/navigate/OIDCClientRegistrationResponseMetadataLookupFunction.java
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/navigate/OIDCClientRegistrationResponseMetadataLookupFunction.java
@@ -24,12 +24,12 @@ import org.opensaml.messaging.context.navigate.ChildContextLookup;
import org.opensaml.messaging.context.navigate.ContextDataLookupFunction;
import org.opensaml.profile.context.ProfileRequestContext;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import com.nimbusds.openid.connect.sdk.rp.OIDCClientMetadata;
import net.shibboleth.idp.plugin.oidc.op.messaging.context.OIDCClientRegistrationResponseContext;
import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.primitive.LoggerFactory;
/**
* A function that returns {@link OIDCClientMetadata} if such is available in the message from a
@@ -71,13 +71,13 @@ public class OIDCClientRegistrationResponseMetadataLookupFunction
/** {@inheritDoc} */
@Nullable public OIDCClientMetadata apply(@Nullable final ProfileRequestContext input) {
- final MessageContext msgCtx = input.getOutboundMessageContext();
- if (msgCtx != null) {
- final OIDCClientRegistrationResponseContext oidcResponseCtx
- = oidcResponseContextLookupStrategy.apply(msgCtx);
- if (oidcResponseCtx != null) {
- return oidcResponseCtx.getClientMetadata();
- }
+ if (input == null || input.getOutboundMessageContext() == null) {
+ return null;
+ }
+ final OIDCClientRegistrationResponseContext oidcResponseCtx
+ = oidcResponseContextLookupStrategy.apply(input.getOutboundMessageContext());
+ if (oidcResponseCtx != null) {
+ return oidcResponseCtx.getClientMetadata();
}
log.debug("No response OIDCClientMetadata found from the profile request context!");
return null;
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/navigate/OIDCPolicyEnforcedClientRegistrationRequestMetadataLookupFunction.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/navigate/OIDCPolicyEnforcedClientRegistrationRequestMetadataLookupFunction.java
index 12445f15..bab11c40 100644
--- a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/navigate/OIDCPolicyEnforcedClientRegistrationRequestMetadataLookupFunction.java
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/navigate/OIDCPolicyEnforcedClientRegistrationRequestMetadataLookupFunction.java
@@ -46,9 +46,12 @@ public class OIDCPolicyEnforcedClientRegistrationRequestMetadataLookupFunction
* Constructor.
*/
public OIDCPolicyEnforcedClientRegistrationRequestMetadataLookupFunction() {
- registrationMetadataPolicyContextLookupStrategy =
+ final Function<ProfileRequestContext, OIDCClientRegistrationMetadataPolicyContext> rmpcls =
new ChildContextLookup<>(OIDCClientRegistrationMetadataPolicyContext.class, false)
.compose(new InboundMessageContextLookup());
+ assert rmpcls != null;
+ registrationMetadataPolicyContextLookupStrategy = rmpcls;
+
}
/**
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list