[java-idp-oidc] 08/44: JOIDC-5 Support dynamic resolution of client ID from token requests.
Henri Mikkonen
henri.mikkonen at iki.fi
Thu Oct 22 13:08:20 UTC 2020
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=ab1f39e72016b4517a0ffe9f57a1d0006664edf7
commit ab1f39e72016b4517a0ffe9f57a1d0006664edf7
Author: Henri Mikkonen <henri.mikkonen at iki.fi>
AuthorDate: Fri Apr 24 14:06:15 2020 +0300
JOIDC-5 Support dynamic resolution of client ID from token requests.
https://issues.shibboleth.net/jira/browse/JOIDC-5
---
.../messaging/context/OIDCSAMLPeerEntityContext.java | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/idp-oidc-extension-api/src/main/java/org/geant/idpextension/oidc/messaging/context/OIDCSAMLPeerEntityContext.java b/idp-oidc-extension-api/src/main/java/org/geant/idpextension/oidc/messaging/context/OIDCSAMLPeerEntityContext.java
index 60fbdf2c..f1f7f020 100644
--- a/idp-oidc-extension-api/src/main/java/org/geant/idpextension/oidc/messaging/context/OIDCSAMLPeerEntityContext.java
+++ b/idp-oidc-extension-api/src/main/java/org/geant/idpextension/oidc/messaging/context/OIDCSAMLPeerEntityContext.java
@@ -26,12 +26,11 @@ import org.slf4j.LoggerFactory;
import com.nimbusds.oauth2.sdk.AuthorizationRequest;
import com.nimbusds.oauth2.sdk.TokenRequest;
-import com.nimbusds.openid.connect.sdk.UserInfoRequest;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
/**
- * Subcontext that carries information about a OIDC peer entity.
+ * Subcontext that carries information about an OIDC peer entity.
*
* <p>
* This context will often contain subcontexts, whose data is construed to be scoped to that peer entity.
@@ -65,7 +64,7 @@ public class OIDCSAMLPeerEntityContext extends AbstractAuthenticatableSAMLEntity
* @return the entity ID, or null if it could not be resolved
*/
@Nullable protected String resolveEntityId() {
- log.debug("Resolving issuer..");
+ log.debug("Resolving issuer dynamically..");
if (getParent() instanceof MessageContext) {
final MessageContext parent = (MessageContext) getParent();
if (parent.getMessage() instanceof AuthorizationRequest) {
@@ -74,12 +73,15 @@ public class OIDCSAMLPeerEntityContext extends AbstractAuthenticatableSAMLEntity
return authzRequest.getClientID().getValue();
} else if (parent.getMessage() instanceof TokenRequest) {
final TokenRequest tokenRequest = (TokenRequest) parent.getMessage();
- return tokenRequest.getClientID().getValue();
- } else if (parent.getMessage() instanceof UserInfoRequest) {
- final UserInfoRequest userInfoRequest = (UserInfoRequest) parent.getMessage();
- //TODO: fetch the clientID from the access token
+ if (tokenRequest.getClientAuthentication() != null) {
+ log.debug("Found client ID {}", tokenRequest.getClientAuthentication().getClientID().getValue());
+ return tokenRequest.getClientAuthentication().getClientID().getValue();
+ } else {
+ log.debug("Found client ID {}", tokenRequest.getClientID().getValue());
+ return tokenRequest.getClientID().getValue();
+ }
} else {
- log.debug("Unsupported message type: {}", parent.getMessage());
+ log.debug("Unsupported message type for dynamic resolution: {}", parent.getMessage());
}
}
return null;
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list