SP shibsession looping

savitha sagar savithaksagar at gmail.com
Wed Aug 20 06:47:22 EDT 2014


Thank you Nate,Scott

I was bit confused ... in a hurry I mentioned it as OpenID  sorry for that
. It is OpenSSO .

Does this resource protected by this SP work with other IdP's?  If so, I
think your problem is that the IdP is encoding colon in the RelayState
parameter in a strange way.

>> yes, our shib SP [ installed on win2008 IIS7.5] protected resource  work
with other IDP, configured elsewhere.Nate  How to find idp encoding
RelayState parameter? is there any specific log file that I have to
examine?Please suggest.

*also below is my shib SP configuration file *

<SPConfig xmlns="urn:mace:shibboleth:2.0:native:sp:config"

    xmlns:conf="urn:mace:shibboleth:2.0:native:sp:config"

    xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"

    xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"

    xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"

    clockSkew="180">



    <!--

    The InProcess section contains settings affecting web server modules.

    Required for IIS, but can be removed when using other web servers.

    -->

    <InProcess logger="native.logger">

        <ISAPI normalizeRequest="true" safeHeaderNames="true">

            <!--

            Maps IIS Instance ID values to the host scheme/name/port. The
name is

            required so that the proper <Host> in the request map above is
found without

            having to cover every possible DNS/IP combination the user
might enter.

            -->

            <Site id="1" name="gul1.xlindia.com" scheme="https" port="443"/>

            <!--

            When the port and scheme are omitted, the HTTP request's port
and scheme are used.

            If these are wrong because of virtualization, they can be
explicitly set here to

            ensure proper redirect generation.

            -->

            <!--

            <Site id="42" name="virtual.example.org" scheme="https"
port="443"/>

            -->

        </ISAPI>

    </InProcess>



    <!--

    By default, in-memory StorageService, ReplayCache, ArtifactMap, and
SessionCache

    are used. See example-shibboleth2.xml for samples of explicitly
configuring them.

    -->

<StorageService type="Memory" id="mem" cleanupInterval="900"/>

    <SessionCache type="StorageService" StorageService="mem"
cacheTimeout="3600" inprocTimeout="900" cleanupInterval="900"/>

    <ReplayCache StorageService="mem"/>

    <ArtifactMap artifactTTL="180"/>

    <!--

    To customize behavior for specific resources on IIS, and to link vhosts
or

    resources to ApplicationOverride settings below, use the XML syntax
below.

    See
https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPRequestMapHowTo
for help.



    Apache users should rely on web server options/commands in most cases,
and can remove the

    RequestMapper element. See
https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPApacheConfig

    -->

    <RequestMapper type="Native">

        <RequestMap>

            <!--

            The example requires a session for documents in /secure on the
containing host with http and

            https on the default ports. Note that the name and port in the
<Host> elements MUST match

            Apache's ServerName and Port directives or the IIS Site name in
the <ISAPI> element above.

            -->

                                                 <Host name="
gul1.xlindia.com">


                                                                <Path
name="AssessmentCenterStaging" authType="shibboleth" requireSession="true"/>

            </Host>

            <!-- Example of a second vhost mapped to a different
applicationId. -->

            <!--

            <Host name="admin.example.org" applicationId="admin"
authType="shibboleth" requireSession="true"/>

            -->

        </RequestMap>

    </RequestMapper>



    <!--

    The ApplicationDefaults element is where most of Shibboleth's SAML bits
are defined.

    Resource requests are mapped by the RequestMapper to an applicationId
that

    points into to this section (or to the defaults here).

    -->

    <ApplicationDefaults entityID="https://gul1.xlindia.com/shibboleth"
homeURL="https://gul1.xlindia.com" REMOTE_USER="eppn persistent-id
targeted-id" signing="false" encryption="false">



        <!--

        Controls session lifetimes, address checks, cookie handling, and
the protocol handlers.

        You MUST supply an effectively unique handlerURL value for each of
your applications.

        The value defaults to /Shibboleth.sso, and should be a relative
path, with the SP computing

        a relative value based on the virtual host. Using
handlerSSL="true", the default, will force

        the protocol to be https. You should also set cookieProps to
"https" for SSL-only sites.

        Note that while we default checkAddress to "false", this has a
negative impact on the

        security of your site. Stealing sessions via cookie theft is much
easier with this disabled.

        -->




<Sessions lifetime="28800" timeout="3600" relayState="ss:mem"

             handlerURL="/Shibboleth.sso" exportLocation="
http://gul1.xlindia.com/Shibboleth.sso/GetAssertion" exportACL="127.0.0.1"

            idpHistory="false" idpHistoryDays="7" checkAddress="false"
handlerSSL="false" cookieProps="http">



            <!--

            Configures SSO for a default IdP. To allow for >1 IdP, remove

            entityID property and adjust discoveryURL to point to discovery
service.

            (Set discoveryProtocol to "WAYF" for legacy Shibboleth WAYF
support.)

            You can also override entityID on /Login query string, or in
RequestMap/htaccess.

            -->

            <SSO entityID="https://l1osso.wgu.edu:443/opensso/xlso"

                 discoveryProtocol="SAMLDS" discoveryURL="
https://ds.example.org/DS/WAYF">

              SAML2 SAML1

            </SSO>



            <!-- SAML and local-only logout. -->

            <Logout>SAML2 Local</Logout>



            <!-- Extension service that generates "approximate" metadata
based on SP configuration. -->

            <Handler type="MetadataGenerator" Location="/Metadata"
signing="false"/>



            <!-- Status reporting service. -->

            <Handler type="Status" Location="/Status" acl="gul1.xlindia.com
"/>



            <!-- Session diagnostic service. -->

            <Handler type="Session" Location="/Session"
showAttributeValues="false"/>



            <!-- JSON feed of discovery information. -->

            <Handler type="DiscoveryFeed" Location="/DiscoFeed"/>

                                                <SessionInitiator
type="Chaining" Location="/Login"  id="Intranet" isDefault="true"
relayState="cookie" entityID="https://l1osso.wgu.edu:443/opensso/xlso">

                <SessionInitiator type="SAML2" acsIndex="1"
template="bindingTemplate.html"/> <SessionInitiator type="Shib1"
acsIndex="5"/>

                </SessionInitiator>

        </Sessions>



        <!--

        Allows overriding of error template information/filenames. You can

        also add attributes with values that can be plugged into the
templates.

        -->

        <Errors supportContact="root at gul1.xlindia.com"

            helpLocation="/about.html"

            styleSheet="/shibboleth-sp/main.css"/>



        <!-- Example of remotely supplied batch of signed metadata. -->

        <!--

        <MetadataProvider type="XML" uri="
http://federation.org/federation-metadata.xml"

              backingFilePath="federation-metadata.xml"
reloadInterval="7200">

            <MetadataFilter type="RequireValidUntil"
maxValidityInterval="2419200"/>

            <MetadataFilter type="Signature" certificate="fedsigner.pem"/>

        </MetadataProvider>

        -->

                                <MetadataProvider type="Chaining">

                <MetadataProvider type="XML"
file="C:\opt\shibboleth-sp\etc\shibboleth\l1wgumeta.xml"/>

        <!-- Example of locally maintained metadata. -->

        <!--

        <MetadataProvider type="XML" file="partner-metadata.xml"/>

        -->

                </MetadataProvider>



        <!-- Example of locally maintained metadata. -->

        <!--

        <MetadataProvider type="XML" file="partner-metadata.xml"/>

        -->



        <!-- Map to extract attributes from SAML assertions. -->

        <AttributeExtractor type="XML" validate="true"
reloadChanges="false" path="attribute-map.xml"/>



        <!-- Use a SAML query if no attributes are supplied during SSO. -->

        <AttributeResolver type="Query" subjectMatch="true"/>



        <!-- Default filtering policy for recognized attributes, lets other
data pass. -->

        <AttributeFilter type="XML" validate="true"
path="attribute-policy.xml"/>



        <!-- Simple file-based resolver for using a single keypair. -->

        <CredentialResolver type="File"
key="C:\opt\shibboleth-sp\etc\shibboleth\sp-key.pem"
certificate="C:\opt\shibboleth-sp\etc\shibboleth\sp-cert.pem"/>



        <!--

        The default settings can be overridden by creating
ApplicationOverride elements (see

        the
https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPApplicationOverride
topic).

        Resource requests are mapped by web server commands, or the
RequestMapper, to an

        applicationId setting.



        Example of a second application (for a second vhost) that has a
different entityID.

        Resources on the vhost would map to an applicationId of "admin":

        -->

        <!--

        <ApplicationOverride id="admin" entityID="
https://admin.example.org/shibboleth"/>

        -->

    </ApplicationDefaults>



    <!-- Policies that determine how to process and authenticate runtime
messages. -->

    <SecurityPolicyProvider type="XML" validate="true"
path="security-policy.xml"/>



    <!-- Low-level configuration about protocols and bindings available for
use. -->

    <ProtocolProvider type="XML" validate="true" reloadChanges="false"
path="protocols.xml"/>



</SPConfig>



All the suggestions Scott gave will help you to resolve the problem

>> Yes, followed some of the documents  which says common problem for this
are,



a.     a)Load balancing on the IdP or SP could be implemented wrong.
causing some state information to be lost.-   for this I enabled sticky
sessions

b) The path in the cookieProps setting of this Application for the SP has
been misconfigured. This path *must* be / , or the browser will refuse to
return it to the protocol handler, causing either looping or a redirect to
homeURL - made relevant changes but no luck.


Thanks -Savitha



On Tue, Aug 19, 2014 at 7:35 PM, Nate Klingenstein <ndk at internet2.edu>
wrote:

>  Savitha,
>
>    We have configured Shibboleth service provider on win 2008 -IIS7 in
>  our organization and it will be interacting with an
> external IDP  belongs other organization (not shibboleth it is openId
> )that supports SAML 2.0(Microsoft product) .
>
>
>  This doesn't make much sense to me.  OpenID is kinda sorta a protocol
> suite and Shibboleth is a software product.  SAML 2.0 is not a Microsoft
> product, but a widely used standard.  Could you try rephrasing what you're
> trying to do?
>
>  When we browse the shib secured application URL( application which is
> configured in shib-SP configuration file),
> it is redirecting to other organization IDP  login page for
> authorization.Once authentication details provided, the SSO control is
> returning back to locally configured SP  but instead redirecting to our
> shib secured application page (requested page) the request is looping and
> refreshing SAML request with different  "relay state " value  highlighted
> as below.
>
>
>  Does this resource protected by this SP work with other IdP's?  If so, I
> think your problem is that the IdP is encoding colon in the RelayState
> parameter in a strange way.
>
>  All the suggestions Scott gave will help you to resolve the problem.
>  These are just a couple breadcrumbs from experience.
>
>  Thanks,
> Nate.
>
> --
> To unsubscribe from this list send an email to
> users-unsubscribe at shibboleth.net
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://shibboleth.net/pipermail/users/attachments/20140820/6179942e/attachment-0001.html 


More information about the users mailing list