I'd like to plug some existing web apps into Liferay. Some of the apps are built using other technology stacks, such as PHP, Python and Node etc. My expectation is to use web proxy portlet or IFrame portlet to reverse proxy traffic through Liferay. And this part actually only requires a very simple setup. My question is how to pass some user's Liferay attributes to the web app behind the proxy, such as user identity info and other user pref settings (since user is already logged in Liferay), and is it possible to add additional attributes? I've seen other portal products passing that kind of info using HTTP headers and/or provide API/Web services, not sure how to do that in Liferay? Thanks.
1 Answers
well... it depends...
IMHO WebProxy is good for simple output, and if you really do control the output of the application that you integrate this way. I've not seen it used in a long time, thus almost forgotten about it.
If you're using iframe integration, you might be better off integrating Liferay with an SSO system and using the same SSO for your external application. This way you authenticate to an application that is made for exactly that. Liferay's IFrame contains some options to forward properties, but as the actual request is always made from the browser, you can't really rely on them to be authentic.
Last but not least: If your external application also feature a webservice (SOAP/JSON/REST) interface, you might be able to write a very simple portlet to make the functionality available. This way you might be able to integrate your existing application into Liferay's permission management - if only on the UI side...