<div><br></div><div>Shib-List,</div><div><br></div><div>Having re-re-read this:</div><div><br></div><div>  <a href="https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPApplicationOverride">https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPApplicationOverride</a></div>
<div><br></div><div><br></div><div>We in a similar situation as Sunil, but we have to use pathways in the hosted application:</div><div><br></div><div><br></div><div>Each customer has a section in the application vhost:</div>
<div><br></div><div>#</div><div>   &lt;Location /customer1/login&gt;</div><div>        AuthType shibboleth</div><div>        ShibRequireSession On</div><div>        require valid-user</div><div>        ShibUseHeaders On</div>
<div>   &lt;/Location&gt;</div><div>#</div><div>   &lt;Location /customer1/test&gt;</div><div>        AuthType shibboleth</div><div>        ShibRequireSession On</div><div>        require valid-user</div><div>        ShibUseHeaders On</div>
<div>   &lt;/Location&gt;</div><div>#</div><div>#</div><div>   &lt;Location /customer2/login&gt;</div><div>        AuthType shibboleth</div><div>        ShibRequireSession On</div><div>        require valid-user</div><div>
        ShibUseHeaders On</div><div>   &lt;/Location&gt;</div><div>#</div><div>   &lt;Location /customer2/test&gt;</div><div>        AuthType shibboleth</div><div>        ShibRequireSession On</div><div>        require valid-user</div>
<div>        ShibUseHeaders On</div><div>   &lt;/Location&gt;</div><div>#</div><div><br></div><div><br></div><div><br></div><div>The reason we are leaning towards Overrides is that each customer has their own IdP service,</div>
<div>some have required client-side CERTS, many have custom attribute mappings, and some have different Session requirements.</div><div><br></div><div>Also as the vhost lines suggest, each customer has a real &quot;login&quot; area (production) and a &quot;test&quot; area (development). </div>
<div>All of our customers want different access levels on those areas.</div><div><br></div><div><br></div><div><br></div><div><br></div><div>So we were thinking of something like this:</div><div><br></div><div><br></div><div>
&lt;ApplicationOverride id=&quot;customer1&quot;&gt;</div><div>    &lt;Sessions lifetime=&quot;7200&quot; timeout=&quot;3600&quot;   &lt;&lt;==================== CUSTOM TIMEOUT</div><div>        handlerSSL=&quot;true&quot;</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>cookieProps=&quot;; path=/customer2/login; secure; HttpOnly&quot;/&gt;</div><div>    &lt;MetadataProvider type=&quot;XML&quot;</div><div>        uri=&quot;<a href="https://idp.customer1.com/Shibboleth.sso/Metadata">https://idp.customer1.com/Shibboleth.sso/Metadata</a>&quot;   &lt;&lt;==================== CUSTOM  IdP (meta provider from customer)</div>
<div>        backingFilePath=&quot;/etc/shibboleth/customer1-idps-metadata-saml2.xml&quot;</div><div>        reloadInterval=&quot;7200&quot; maxRefreshDelay=&quot;86400&quot;&gt;</div><div>    &lt;/MetadataProvider&gt;</div>
<div>    &lt;AttributeExtractor type=&quot;XML&quot; file=&quot;customer1-attribute-map.xml&quot;/&gt;   &lt;&lt;==================== CUSTOM attributes (mostly group access)</div><div>    &lt;CredentialResolver type=&quot;File&quot; key=&quot;customer1-key.pem&quot; certificate=&quot;customer1-cert.pem&quot;/&gt;   &lt;&lt;==================== CUSTOM CREDENTIALS</div>
<div>&lt;/ApplicationOverride&gt;</div><div><br></div><div><br></div><div><br></div><div>Questions: </div><div><br></div><div>1) Since this override is really about a customer and not about us, do we need a handlerURL (e.g. handlerURL=&quot;/customer1/Shibboleth.sso&quot;) for each Override?</div>
<div><br></div><div>2) In many examples we have seen, each overrides section has its own entityID. Is that required here? The &quot;Base&quot; URL for each customer will be the same.</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Just the path will be different:</div>
<div><br></div><div>  e.g.   <a href="https://ourlargeapp.company.com/customer01">https://ourlargeapp.company.com/customer01</a></div><div>  e.g.   <a href="https://ourlargeapp.company.com/customer02">https://ourlargeapp.company.com/customer02</a></div>
<div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>[...]</div><div><br></div><div><br></div><div>We&#39;re new to Shibboleth and I guess I have to confess being a bit confused about entityID. </div>
<div>We declare one in the &lt;ApplicationDefaults&gt; section:</div><div><br></div><div>                            <a href="http://applications.company.com">applications.company.com</a></div><div><br></div><div>But that is about us. We made a metadata file for it and everything. All the customers are from very different domains, etc. They have their own IdPs. </div>
<div>Do they each need an entityID in the Overrides section? Wouldn&#39;t that imply they each have to have their own Metadata on the SP somewhere?</div><div><br></div><div><br></div><div>3) Lastly, this configuration is SP only. We have no Discovery Service. We do not even have an IdP server. </div>
<div>What should we use for &lt;SessionInitiator&gt; or SSO (default IdP). For us, there really isn&#39;t one. </div><div><br></div><div>Can we just leave it out of the &lt;ApplicationDefaults&gt; altogether?</div><div><br>
</div><div><br></div><div>Many thanks folks!</div><div><br></div><div>-- RGS<br><br>==================================<br>Roy G. Specter<br><a href="mailto:roygspectech8@gmail.com" target="_blank">roygspectech8@gmail.com</a><br>
========================================<br></div>
<br><br><div class="gmail_quote">On Fri, Jul 26, 2013 at 4:13 PM, Peter Schober <span dir="ltr">&lt;<a href="mailto:peter.schober@univie.ac.at" target="_blank">peter.schober@univie.ac.at</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
* bs_sunil &lt;<a href="mailto:bssunil74@yahoo.com">bssunil74@yahoo.com</a>&gt; [2013-07-26 20:35]:<br>
<div class="im">&gt; Thanks Peter. Yes I am good with one entity ID for both vhosts.<br>
<br>
</div>Great.<br>
<div class="im"><br>
&gt; - Have one or several metadata providers so that the single SP knows<br>
&gt; -  all the IdPs in use. No application overrides.<br>
&gt;<br>
&gt; When you say metadata providers, I am assuming IDP supplied metadata<br>
&gt; referenced like in         &lt;MetadataProvider type=&quot;XML&quot;<br>
&gt; file=&quot;idpmetadata.xml&quot;/&gt;. Can you give an example like where I could supply<br>
&gt; that info?<br>
<br>
</div>I just said to add the metadata for all IDPs to your SP --this is not<br>
specific to and has nothing to do with vhosting or anythig else you<br>
asked about. The documentation clearly covers how to add metadata to<br>
the SP (e.g. using one or more lines like you post above, or using a<br>
folder or many other ways).<br>
<div class="im"><br>
&gt; I do not have a discovery/wayn service. So I can supply multiple<br>
&gt; metadata like file=&quot;idpmetadata.xml&quot;<br>
<br>
</div>Adding SAML metadata (describing IDPs) to an SP has nothing to do with<br>
IdP discovery.<br>
You said you wanted each vhost to always use a specific IdP (to work<br>
around having to do IdP discovery) and I already posted the Apache<br>
httpd directive how to do that.<br>
<div class="im"><br>
&gt; - Have a single piece (one EntityDescriptor) of SAML metadata<br>
&gt;   containing ACS URLs for /both/ <a href="http://testa.com/" target="_blank">testa.com/</a> and <a href="http://testb.com/" target="_blank">testb.com/</a> and give<br>
&gt;   that metadata to the IDP.<br>
&gt;<br>
&gt; An example of where I need to do this (like in shibboleth2.xml?)would be<br>
&gt; very helpful.<br>
<br>
</div>No, with &quot;SAML Metadata&quot; I&#39;m mean SAML 2.0 Metadata, as specified by<br>
OASIS.<br>
I had assumed that at one point you provided the IdPs with SAML<br>
Metadata describing your SP. If that is the case you&#39;ll need to modify<br>
that metadata so that both <a href="http://testa.com" target="_blank">testa.com</a> and <a href="http://testb.com" target="_blank">testb.com</a> are present in all<br>
AssertionConsumerService elements where only one of them is listed.<br>
(Since you said one entityID for both vhosts is enough that means you<br>
only have a single EntityDescriptor describing your SP to the<br>
IdPs. You just have to make sure both <a href="http://testa.com" target="_blank">testa.com</a> and <a href="http://testb.com" target="_blank">testb.com</a> are<br>
contained in that metatdata.)<br>
<br>
If you did not provided the IdPs with SAML 2.0 Metadata for your SP<br>
you&#39;ll have to supply the same information via some other method,<br>
specific to these IdPs.<br>
<span class="HOEnZb"><font color="#888888">-peter<br>
</font></span><div class="HOEnZb"><div class="h5">--<br>
To unsubscribe from this list send an email to <a href="mailto:users-unsubscribe@shibboleth.net">users-unsubscribe@shibboleth.net</a><br>
</div></div></blockquote></div><br>