[java-identity-provider COMMIT] in /trunk: idp-conf/src/main/resources/conf/errors.xml idp-saml-impl/src/main/java/ne...
noreply at shibboleth.net
noreply at shibboleth.net
Tue Oct 27 22:26:06 EDT 2015
Author: scantor
Date: Tue Oct 27 22:26:06 2015
New Revision: 7890
URL: http://svn.shibboleth.net/view/java-identity-provider?rev=7890&view=rev
Log:
IDP-576 - Improve IdP SAML Logout default handling when client-side sessions are in use
Modified:
trunk/idp-conf/src/main/resources/conf/errors.xml
trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/ExtractSubjectFromRequest.java
trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessLogoutRequest.java
trunk/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessLogoutRequestTest.java
trunk/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedSessionManager.java
Modified: trunk/idp-conf/src/main/resources/conf/errors.xml
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-conf/src/main/resources/conf/errors.xml?rev=7890&r1=7889&r2=7890&view=diff
==============================================================================
--- trunk/idp-conf/src/main/resources/conf/errors.xml (original)
+++ trunk/idp-conf/src/main/resources/conf/errors.xml Tue Oct 27 22:26:06 2015
@@ -84,6 +84,7 @@
<entry key="InvalidSubject" value-ref="shibboleth.SAML2Status.UnknownPrincipal" />
<entry key="SubjectCanonicalizationError" value-ref="shibboleth.SAML2Status.UnknownPrincipal" />
+ <entry key="SessionNotFound" value-ref="shibboleth.SAML2Status.UnknownPrincipal" />
<entry key="InvalidNameIDPolicy" value-ref="shibboleth.SAML2Status.InvalidNameIDPolicy" />
Modified: trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/ExtractSubjectFromRequest.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/ExtractSubjectFromRequest.java?rev=7890&r1=7889&r2=7890&view=diff
==============================================================================
--- trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/ExtractSubjectFromRequest.java (original)
+++ trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/ExtractSubjectFromRequest.java Tue Oct 27 22:26:06 2015
@@ -141,7 +141,7 @@
nameIdentifier = msgCtx.getSubcontext(SAMLSubjectNameIdentifierContext.class, true).getSubjectNameIdentifier();
if (nameIdentifier == null) {
- log.debug("{} No Subject NameID or NameIdentifier in message", getLogPrefix());
+ log.debug("{} No Subject NameID/NameIdentifier in message needs inbound processing", getLogPrefix());
ActionSupport.buildEvent(profileRequestContext, NO_SUBJECT);
return false;
}
Modified: trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessLogoutRequest.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessLogoutRequest.java?rev=7890&r1=7889&r2=7890&view=diff
==============================================================================
--- trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessLogoutRequest.java (original)
+++ trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessLogoutRequest.java Tue Oct 27 22:26:06 2015
@@ -46,6 +46,7 @@
import org.opensaml.profile.action.EventIds;
import org.opensaml.profile.context.ProfileRequestContext;
import org.opensaml.profile.context.navigate.InboundMessageContextLookup;
+import org.opensaml.saml.common.profile.SAMLEventIds;
import org.opensaml.saml.ext.saml2aslo.Asynchronous;
import org.opensaml.saml.saml2.core.LogoutRequest;
import org.opensaml.saml.saml2.core.SessionIndex;
@@ -65,9 +66,10 @@
* <p>A {@link SubjectContext} is also populated. If and only if a single {@link IdPSession} is resolved,
* a {@link SessionContext} is also populated.</p>
*
- * @event {@link org.opensaml.profile.action.EventIds#PROCEED_EVENT_ID}
- * @event {@link org.opensaml.profile.action.EventIds#INVALID_PROFILE_CTX}
- * @event {@link org.opensaml.profile.action.EventIds#IO_ERROR}
+ * @event {@link EventIds#PROCEED_EVENT_ID}
+ * @event {@link EventIds#INVALID_PROFILE_CTX}
+ * @event {@link EventIds#IO_ERROR}
+ * @event {@link SAMLEventIds#SESSION_NOT_FOUND}
* @post The matching session(s) are destroyed.
* @post If a {@link IdPSession} was found, then a {@link SubjectContext} and {@link LogoutContext} will be populated.
* @post If a single {@link IdPSession} was found, then a {@link SessionContext} will be populated.
@@ -251,11 +253,6 @@
final Iterable<IdPSession> sessions =
sessionResolver.resolve(sessionResolverCriteriaStrategy.apply(profileRequestContext));
final Iterator<IdPSession> sessionIterator = sessions.iterator();
-
- if (!sessionIterator.hasNext()) {
- log.info("{} No active session(s) found matching LogoutRequest", getLogPrefix());
- return;
- }
[... 107 lines stripped ...]
More information about the commits
mailing list