Class ExtractUsernamePasswordFromWSSToken

  • All Implemented Interfaces:
    net.shibboleth.utilities.java.support.component.Component, net.shibboleth.utilities.java.support.component.DestructableComponent, net.shibboleth.utilities.java.support.component.InitializableComponent, org.opensaml.profile.action.ProfileAction, Aware, MessageSource, MessageSourceAware, Action

    public class ExtractUsernamePasswordFromWSSToken
    extends net.shibboleth.idp.authn.AbstractExtractionAction
    An authentication stage that extracts a username/password from the WSS Username/Password attached to a SOAP message. As should be obvious, this assumes that the inbound message is a SOAP Envelope.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private org.opensaml.soap.soap11.Envelope inboundMessage
      Inbound message to operate on.
      private org.slf4j.Logger log
      Class logger.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void doExecute​(org.opensaml.profile.context.ProfileRequestContext profileRequestContext, net.shibboleth.idp.authn.context.AuthenticationContext authenticationContext)
      protected boolean doPreExecute​(org.opensaml.profile.context.ProfileRequestContext profileRequestContext, net.shibboleth.idp.authn.context.AuthenticationContext authenticationContext)
      private net.shibboleth.utilities.java.support.collection.Pair<String,​String> extractUsernamePassword​(org.opensaml.soap.soap11.Envelope message)
      Extracts a username/password from the inbound message.
      private org.opensaml.soap.wssecurity.UsernameToken getUsernameToken​(org.opensaml.soap.soap11.Envelope message)
      Extracts the UsernameToken from the given Envelope.
      • Methods inherited from class net.shibboleth.idp.authn.AbstractExtractionAction

        applyTransforms, setLowercase, setTransforms, setTrim, setUppercase
      • Methods inherited from class net.shibboleth.idp.authn.AbstractAuthenticationAction

        doExecute, doPreExecute, setAuthenticationContextLookupStrategy
      • Methods inherited from class net.shibboleth.idp.profile.AbstractProfileAction

        doExecute, execute, getMessage, getMessage, getMessage, getProfileContextLookupStrategy, getRequestContext, getResult, setMessageSource, setProfileContextLookupStrategy
      • Methods inherited from class org.opensaml.profile.action.AbstractConditionalProfileAction

        getActivationCondition, setActivationCondition
      • Methods inherited from class org.opensaml.profile.action.AbstractProfileAction

        doPostExecute, doPostExecute, execute, getHttpServletRequest, getHttpServletResponse, getLogPrefix, setHttpServletRequest, setHttpServletResponse
      • Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent

        destroy, doDestroy, doInitialize, initialize, isDestroyed, isInitialized
      • Methods inherited from interface net.shibboleth.utilities.java.support.component.InitializableComponent

        initialize, isInitialized
    • Field Detail

      • log

        @Nonnull
        private final org.slf4j.Logger log
        Class logger.
      • inboundMessage

        @Nullable
        private org.opensaml.soap.soap11.Envelope inboundMessage
        Inbound message to operate on.
    • Constructor Detail

      • ExtractUsernamePasswordFromWSSToken

        public ExtractUsernamePasswordFromWSSToken()
    • Method Detail

      • doPreExecute

        protected boolean doPreExecute​(@Nonnull
                                       org.opensaml.profile.context.ProfileRequestContext profileRequestContext,
                                       @Nonnull
                                       net.shibboleth.idp.authn.context.AuthenticationContext authenticationContext)
        Overrides:
        doPreExecute in class net.shibboleth.idp.authn.AbstractAuthenticationAction
      • doExecute

        protected void doExecute​(@Nonnull
                                 org.opensaml.profile.context.ProfileRequestContext profileRequestContext,
                                 @Nonnull
                                 net.shibboleth.idp.authn.context.AuthenticationContext authenticationContext)
        Overrides:
        doExecute in class net.shibboleth.idp.authn.AbstractAuthenticationAction
      • extractUsernamePassword

        @Nullable
        private net.shibboleth.utilities.java.support.collection.Pair<String,​String> extractUsernamePassword​(@Nonnull
                                                                                                                   org.opensaml.soap.soap11.Envelope message)
        Extracts a username/password from the inbound message.
        Parameters:
        message - the inbound message
        Returns:
        the username and password
      • getUsernameToken

        @Nullable
        private org.opensaml.soap.wssecurity.UsernameToken getUsernameToken​(@Nonnull
                                                                            org.opensaml.soap.soap11.Envelope message)
        Extracts the UsernameToken from the given Envelope.
        Parameters:
        message - the message from which the token should be extracted
        Returns:
        the extracted token