<div dir="ltr">Thank you Peter, that's what I was looking for.<br></div><div class="gmail_extra"><br><div class="gmail_quote">2016-05-12 22:34 GMT+02:00 Peter Schober <span dir="ltr"><<a href="mailto:peter.schober@univie.ac.at" target="_blank">peter.schober@univie.ac.at</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Elaborating slightly on what Scott said.<br>
<br>
* reda sabir <<a href="mailto:sabiretude@gmail.com">sabiretude@gmail.com</a>> [2016-05-12 15:43]:<br>
<span class="">> I want to configure one SP for multiple IDP. I know that it's already<br>
> possible but I have a constraint is that the user shouldn't know that<br>
> there's many IDP. In fact the SP have to recognise the right Idp by<br>
> analysing the url of the resource requested :<br>
> If the user request the URL: <a href="http://site1.ressource.com" rel="noreferrer" target="_blank">http://site1.ressource.com</a>, the SP should then<br>
> redirect him to <a href="http://site1.idp.com" rel="noreferrer" target="_blank">http://site1.idp.com</a> for the authentication and so on for<br>
> site2, site 3...<br>
<br>
</span>For the IDP selection based on vhost accessed -- assuming Apache httpd<br>
2.4, something like this:<br>
<br>
<VirtualHost ...><br>
ServerName <a href="http://site1.ressource.com" rel="noreferrer" target="_blank">http://site1.ressource.com</a><br>
<Location /><br>
AuthType shibboleth<br>
ShibRequestSetting requireSession 1<br>
ShibRequestSetting entityID <a href="http://site1.idp.com" rel="noreferrer" target="_blank">http://site1.idp.com</a><br>
require shib-session # or whatever you need for authorization<br>
</Location><br>
</VirtualHost><br>
<br>
Repeat for other content / vhosts as desired.<br>
<span class=""><br>
> Why I need to use one SP and not multiple SP (each SP for each IDP)<br>
> is because all sites (except the idp) will be on the same server and<br>
> that when the user is authenticated in <a href="http://site1.idp.com" rel="noreferrer" target="_blank">site1.idp.com</a>, he can then<br>
> access <a href="http://site2.ressource.com" rel="noreferrer" target="_blank">site2.ressource.com</a> without re-authenticating (WebSSO).<br>
<br>
</span>Not sure I understand. If you're saying whatever IDP the subject used,<br>
say, <a href="http://site1.idp.com" rel="noreferrer" target="_blank">http://site1.idp.com</a> from an initial access to<br>
<a href="http://site1.ressource.com" rel="noreferrer" target="_blank">http://site1.ressource.com</a>, they're free to later access<br>
<a href="http://site2.ressource.com" rel="noreferrer" target="_blank">http://site2.ressource.com</a> with their existing session, too?<br>
If that's the case, you're done as that's the default way of the SP<br>
working.<br>
<br>
If that's what you want to prevent/avoid you'll have to add<br>
authorization rules to each Location (in the above example), to keep<br>
someone having authenticated at idp1 from accessing site2.<br>
<br>
The latter is easy to do if the IDPs share a common understanding and<br>
use of certain SAML Attributes, e.g. based on the<br>
eduPersonScopedAffiliation it's easy to "tack" each Scope to a vhost.<br>
<br>
If you don't have that the most straight forward -- but not<br>
recommended, for more philosophical reasons -- way is probably<br>
authorizing based on the IDP's entityID. That's Wrong™ in many cases,<br>
though, e.g. when an organization you have dealings with runs more<br>
than one SAML IDP.<br>
<br>
HTH,<br>
-peter<br>
<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></div></div></blockquote></div><br></div>