[java-identity-provider COMMIT] /trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/nameid/NameIDCanonica...
noreply at shibboleth.net
noreply at shibboleth.net
Wed Feb 12 08:56:12 EST 2014
Author: rdw
Date: Wed Feb 12 08:56:12 2014
New Revision: 5379
URL: http://svn.shibboleth.net/view/java-identity-provider?rev=5379&view=rev
Log:
IDP-359 Move stuff between preExecute and execute so that execute does the decode and poreexecute does the preconditions.
Modified:
trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/nameid/NameIDCanonicalization.java
Modified: trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/nameid/NameIDCanonicalization.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/nameid/NameIDCanonicalization.java?rev=5379&r1=5378&r2=5379&view=diff
==============================================================================
--- trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/nameid/NameIDCanonicalization.java (original)
+++ trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/nameid/NameIDCanonicalization.java Wed Feb 12 08:56:12 2014
@@ -63,9 +63,6 @@
*/
public class NameIDCanonicalization extends AbstractSubjectCanonicalizationAction implements InitializingBean {
- /** The custom Principal to operate on. */
- @Nullable private String decodedPrincipal;
-
/** Supplies logic for pre-execute test. */
@Nonnull private final ActivationCondition embeddedPredicate;
@@ -111,33 +108,29 @@
@Override protected boolean doPreExecute(@Nonnull final ProfileRequestContext profileRequestContext,
@Nonnull final SubjectCanonicalizationContext c14nContext) throws SubjectCanonicalizationException {
- if (embeddedPredicate.apply(profileRequestContext, c14nContext, true)) {
-
- final Set<NameIDPrincipal> nameIDs = c14nContext.getSubject().getPrincipals(NameIDPrincipal.class);
- final NameID nameID = nameIDs.iterator().next().getNameID();
-
- try {
- decodedPrincipal = decoder.decode(nameID, c14nContext.getResponderId(), c14nContext.getRequesterId());
- } catch (SubjectCanonicalizationException e) {
- c14nContext.setException(e);
- ActionSupport.buildEvent(profileRequestContext, AuthnEventIds.INVALID_SUBJECT);
- return false;
- } catch (NameDecoderException e) {
- c14nContext.setException(e);
- ActionSupport.buildEvent(profileRequestContext, AuthnEventIds.SUBJECT_C14N_ERROR);
- return false;
- }
- return super.doPreExecute(profileRequestContext, c14nContext);
- } else {
+ if (!embeddedPredicate.apply(profileRequestContext, c14nContext, true)) {
return false;
}
+ return super.doPreExecute(profileRequestContext, c14nContext);
}
/** {@inheritDoc} */
@Override protected void doExecute(@Nonnull final ProfileRequestContext profileRequestContext,
@Nonnull final SubjectCanonicalizationContext c14nContext) throws SubjectCanonicalizationException {
- c14nContext.setPrincipalName(decodedPrincipal);
+ final Set<NameIDPrincipal> nameIDs = c14nContext.getSubject().getPrincipals(NameIDPrincipal.class);
+ final NameID nameID = nameIDs.iterator().next().getNameID();
+
+ try {
+ c14nContext.setPrincipalName(decoder.decode(nameID, c14nContext.getResponderId(),
+ c14nContext.getRequesterId()));
+ } catch (SubjectCanonicalizationException e) {
+ c14nContext.setException(e);
+ ActionSupport.buildEvent(profileRequestContext, AuthnEventIds.INVALID_SUBJECT);
+ } catch (NameDecoderException e) {
+ c14nContext.setException(e);
+ ActionSupport.buildEvent(profileRequestContext, AuthnEventIds.SUBJECT_C14N_ERROR);
+ }
}
/** {@inheritDoc} */
@@ -179,7 +172,7 @@
final SubjectCanonicalizationFlowDescriptor flowDescriptor = c14nContext.getAttemptedFlow();
log.debug("Attempting to match format {}", format);
-
+
if (null == flowDescriptor) {
log.error("Supplied Context has no active FlowDescriptor");
return false;
More information about the commits
mailing list