* oblivion <
recalc...@web.de> [2013-03-07 19:30]:
> Now I am wondering how the user-credentials coming from the
> post-array are preserved after the SP has forwarded to the IdP?
Credentials should not have been requested/entered at the SP.
> Again, the user navigates to an existing login-page where he enters his
> credentials.
You can do that, but you don't have to. Either the login is just to
make available the list of SPs (and users could have just as well
accessed them directly) or you use that list of resources with special
links, initiating the SAML flow at the IDP by sending an unsolicited
response to the SP.
If the links are just ordinary links to the resource the SAML
implementation at the SP will prevent access, redirect to the IDP
which will defer authentication to your existing WebSSO, after the
login there access to the IDP will be granted and the IDP will issue
the response to the SP.
So if you need or want to start everything at some portal (the much
mentioned existing login-page) which presents links to the resources
the IdP-initiated flow is a bit simpler. If people bookmarking the
resource/application should also work, the flow at the SP, as is
standard with SAML.
> Does this imply that the login-page has to lie on the IdP's host?
Yes. Only in your case it is at your exising SSO system, to which your
IDP could be another SSO "client", not at the IDP itself (since you
said you want SSO with you existing SSO system).
> How do you integrate existing web-pages then without having to tear them
> apart?
You can't. (Standards-based cross-domain SSO, where resources never
see the users' credentials does come at a price.)
How much actual tearing-appart is needed varies widely and the work
needed for each application is different. Applications written in PHP
could be changed to use SimpleSAMLphp or use webserver integration.
Others could use other API/code-level integration toolkits (OIOSAML,
Spring Security, etc.) or rely on integration via the webserver (for
httpd there are at least mod_authmemcookie, mod_mellon, Shibboleth),
which has the advantage of not making the changes to the application
specific to the SAML implementation (i.e., you can swap out one for
another without disrupting changes to the app).
Properly designed applications will often allow to externalize
authentication via the webserver out of the box (i.e., with
configuration and not coding). For tighter integration, which means
authorization and maybe groups management, you will often have to have
to set up other stuff around the application or change the application
itself. It all depends.
-peter