IE11 does not send shib session cookie during global logout

BenJW ben.wxc at gmail.com
Sat Feb 24 22:16:50 EST 2018


Hi All,

I have two tabs opened on IE, one is running my App (A), the other is
running
another another App (B) [both https]. They are in different domains, but
both configured to support SLO.

If I logout from B(IDP initiated logout from App A`s perspective), one of
the redirects will hit app A and ideally comes with Shib session cookie.
However, this is not the caes.  If i switch back to the other tab that runs
app A after B logout, user is still login, because the shib session has not
been destroyed during global logout workflow.

I`ve tested on Chrome and Firebox, Safari, they all work as expected. On IE,
if I open app A in one tab, no authentication is needed if I open app A in
another tab.

I appreciate if anyone can cast some lights on it. Thanks a lot.

*
BTW, while I am doing research on this topic, some one said it might have
something to do with how IE treat session cookie max-age vs Expires
parameters. *


Here is my shib.xml and apache vhost config.


<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">


    <OutOfProcess>
        <Extensions>
            <Library path="***/memcache-store.so" fatal="true" />
        </Extensions>
    </OutOfProcess>

    <StorageService type="MEMCACHE" id="mc" prefix="shibd:">
      <Hosts>***:****</Hosts>
    </StorageService>

    <StorageService type="MEMCACHE" id="mc-ctx" prefix="shibd:"
buildMap="1">
        <Hosts>****:****</Hosts>
    </StorageService>

    <SessionCache type="StorageService" StorageService="mc-ctx"
StorageServiceLite="mc" />
    <ReplayCache StorageService="mc"/>
    <ArtifactMap StorageService="mc" artifactTTL="180"/>

    <ApplicationDefaults entityID="abc.com"
                         REMOTE_USER="principal"

cipherSuites="ECDHE+AESGCM:ECDHE:!aNULL:!eNULL:!LOW:!EXPORT:!RC4:!SHA:!SSLv2"
                         attributePrefix="abc_"
                         requireConfidentiality="true"
                         requireTransportAuth="true"
                         signing="true"
                         homeURL="https://abc.com/auth/vsso">


   <Sessions lifetime="28800" timeout="3600" relayState="ss:mc"
consistentAddress="false"
    checkAddress="false" handlerSSL="false" cookieProps="; path=/; HttpOnly;
Secure" handlerURL="/sso" redirectLimit="host+whitelist"
redirectWhitelist="****">

            <SSO entityID="****">
              SAML2 SAML1
            </SSO>

            <Logout>SAML2 Local</Logout>

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

            <Handler type="Status" Location="/Status" acl="127.0.0.1 ::1"/>

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

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

        <Errors supportContact="root at localhost"
            helpLocation="/about.html"
            styleSheet="/shibboleth-sp/main.css"/>

        <MetadataProvider type="XML" file="****-bsso.xml"/>

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

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

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

        <CredentialResolver type="File" key="***sp.key"
certificate=****sp.crt"/>

    </ApplicationDefaults>

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

</SPConfig>


Vhost conf

<VirtualHost *:8080>
    ServerName https://abc.com

    # CPTY-277
    Header always append X-Frame-Options SAMEORIGIN
    Header set Content-Security-Policy "frame-ancestors 'self';"

    # CPTY-278
    SetEnvIfNoCase Host ^abc\.com set_cookie_secure=true
    Header edit Set-Cookie (.*) "$1; Secure" env=set_cookie_secure

    DocumentRoot /bb/bvault/surveillance_current

    ProxyRequests Off
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    #SetEnv force-proxy-request-1.0 1
    #SetEnv proxy-nokeepalive 1



    <LocationMatch "/">
       AuthType shibboleth
       ShibRequestSetting requireSession 1
       require shib-session
       Require valid-user
       ShibUseHeaders On
    </LocationMatch>

    <Location /sso>
        AuthType None
        Require all granted
    </Location>

    <Directory "***">
        Options FollowSymLinks
    </Directory>

    <Directory "****">
        AllowOverride None
        Require all granted
        Options Indexes FollowSymLinks Includes
        DirectoryIndex index.html
        Order deny,allow
        Allow from all
        Options -MultiViews

        DirectoryIndex index.html

        RewriteEngine on
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_URI} "!^/sso"
        RewriteRule ^ index.html [L]
    </Directory>


</VirtualHost>




--
Sent from: http://shibboleth.1660669.n2.nabble.com/Shibboleth-Users-f1660767.html


More information about the users mailing list