just a follow-up to the things I described previously, with more insights.
First, I separated Liferay and casshib into two independent containers,
which turned out to be a good idea.
Using mod_jk instead or mod_proxy_ajp didn't make a difference.
I used now https://host.tld/c/portal/login/ (note the last slash) both
as id in casshib-service-registrations.xml and as Service URL in
Liferay's CAS config.
However, after authenticating at the IdP, the browser returns to
https://host.tld/web/guest/home which shows an anonymous welcome page,
not a personalized one. Why this? I suspect this is because the
attribute transport from the SP via casshib to Liferay is broken.
I tried to prove this using casshib's provided demo application instead
of Liferay, and it turns out that no user attributes except REMOTE_USER
are picked up from the SP. Could someone please verify that this is the
case?
Cheers,
Martin
--
-----------------------------------------------------------------------
Dr. Martin Haase
DAASI International GmbH phone: +49 7071 407109-6
Europaplatz 3 Fax : +49 7071 407109-9
D-72072 Tübingen email: Martin...@DAASI.de
Germany Web : http://www.daasi.de
Directory Applications for Advanced Security and Information Management
-----------------------------------------------------------------------
<!-- added support for PrincipalBearingCredentialsAuthenticationHandler -->
<dependency>
<groupId>org.jasig.cas</groupId>
<artifactId>cas-server-support-trusted</artifactId>
<version>${cas.version}</version>
</dependency>Cheers,
All my attributes come up fine. Remember to put the prefix in front of your variables.
--
"The truth is incontrovertible, malice may attack it, ignorance may deride it, but in the end; there it is."
comments inline.
Am 06.10.2010 02:18, schrieb Jonathan Dray:
> Hi Martin,
>
> I'm working in a french company called "Social Computing" with Denis
> Ah-Kang.
> We are trying to make Liferay communicate with a saml2 idp and
> casshib.
> We followed online documentation and we came to the same conclusions.
>
> After authenticating at the IdP, the browser returns to
> https://host.tld/web/guest/home which shows the anonymous welcome
> page.
> All the attributes are mapped between the idp and the shibboleth sp
> and then between the shibboleth sp and casshib. We dumpped the http
> header content in casshib to be sure that all the values were properly
> populated.
>
> So now we have an issue with Liferay and we don't really understand
> the behaviour here.
> We have a few questions :
>
> * Is the ldap server mandatory in order to make casshib work with
> liferay ?
> (It shouldn't be with federation SSO as the idp already handles
> the authentication part and returns all the necessary attributes.
> Liferay should be able to create users if they don't exist yet without
> casshib help)
>
You are right here. It's the CAS module in Liferay that's unable to pick
up the attributes. They seem to be working on it, see this thread:
http://www.liferay.com/community/forums/-/message_boards/message/1758457#_19_message_1944966
...however, they haven't integrated the proposed solution in the 6.0.x
branch yet.
> * What happens if a user that does not exist in Liferay succeffully
> logs in at the idp ?
> - Liferay tries to create the user in its internal database ?
>
This is the point. Tony Lim wrote to me: "Liferay has a
pre-authentication and post-authentication module. You can use that to
create users from CAS." I haven't tried that yet, as my task was just to
evaluate Liferay-Shib integration, not building/programming a solution.
> * How could we get more information on what happens in liferay ?
> We tried to switch Lifefray log level to DEBUG for several
> components but still didn't find anything useful. Did you manage to
> trace the communication between casshib and Liferay ?
>
Logging is poor in Liferay, I also didn't find anything sensible. What I
did was to ensure casshib's demo application gets the attributes, to be
sure the whole configuration was working and it was just Liferay being
unable to pick up the attributes.
Regards,
Martin
PS. You are aware of the various ShibbolethAutoLogin.java modules
floating around in the Web? If you are willing to program a solution,
these might serve as a starting point.
D-72072 Tübingen email: Martin...@DAASI.de