User Configurable Flow at /idp/

Marvin Addison marvin.addison at gmail.com
Thu Sep 4 14:37:51 EDT 2014


> I wasn't saying that wouldn't work, just saying that we don't have to
> preclude people mapping other things if they want to do that.

Sure, agree.

I wanted to share some information that I found surprising to
hopefully save headaches if/when work begins on this issue. The
following servlet mappings do _not_ work:

    <servlet-mapping>
        <servlet-name>idp</servlet-name>
        <url-pattern>/authn/*</url-pattern>
        <url-pattern>/profile/*</url-pattern>
        <url-pattern>/status</url-pattern>
    </servlet-mapping>

Status is the only one that works; the authn and profile URIs yield a
404. Requests get into DispatcherServlet, but it reports no handler
mapping found:

14:35:52.865 - DEBUG
[org.springframework.web.servlet.DispatcherServlet:838] -
DispatcherServlet with name 'idp' processing GET request for
[/idp/authn/Password]
14:35:52.870 - WARN
[org.springframework.web.servlet.PageNotFound:1114] - No mapping found
for HTTP request with URI [/idp/authn/Password] in DispatcherServlet
with name 'idp'

For some reason the _exact_ flow URL is required to be mapped, which I
wasted several hours of trial and error figuring out. That makes for a
verbose and non-extensible (profile-wise) list of servlet mappings:

    <servlet-mapping>
        <servlet-name>idp</servlet-name>
        <url-pattern>/authn/External</url-pattern>
        <url-pattern>/authn/IPAddress</url-pattern>
        <url-pattern>/authn/Password</url-pattern>
        <url-pattern>/authn/RemoteUser</url-pattern>
        <url-pattern>/profile/Shibboleth/SSO</url-pattern>
        <url-pattern>/profile/SAML1/SOAP/AttributeQuery</url-pattern>
        <url-pattern>/profile/SAML1/SOAP/ArtifactResolution</url-pattern>
        <url-pattern>/profile/SAML2/POST/SSO</url-pattern>
        <url-pattern>/profile/SAML2/POST-SimpleSign/SSO</url-pattern>
        <url-pattern>/profile/SAML2/Redirect/SSO</url-pattern>
        <url-pattern>/profile/SAML2/Unsolicited/SSO</url-pattern>
        <url-pattern>/profile/SAML2/SOAP/ECP</url-pattern>
        <url-pattern>/profile/SAML2/SOAP/AttributeQuery</url-pattern>
        <url-pattern>/profile/SAML2/SOAP/ArtifactResolution</url-pattern>
        <url-pattern>/status</url-pattern>
    </servlet-mapping>

M


More information about the dev mailing list