title: How to send sensitive data to a Liferay portlet from outside the Liferay portal
body: <p>I've got a Liferay Portal (6.2 CE) with some Portlets (let's say Portlet A and Portlet B)</p>
  
  <p>I'll be called from outside the portal (a third party from the internet) with some params (<a href="http://myUrl/myPath?param=X&amp;email=myUser@email.address&amp;info=moreUserPersonalData" rel="nofollow noreferrer">http://myUrl/myPath?param=X&amp;email=myUser@email.address&amp;info=moreUserPersonalData</a>), and depending of the value of one of those params I need to display one or another portlet. Following the example, if param=A, go to portal page with Portlet A; if param=B, go to portal page with Portlet B.</p>
  
  <p>Some of the params will be sensitive data and I need them to reach the final portlet A or B.</p>
  
  <p>So, I've got different doubts...</p>
  
  <p>Wherever I'll be called, I can decide its technology. I've managed:</p>
  
  <ul>
  <li>A servlet. The main problem is that I cannot share the session between the Servlet and the Portlet, so I can't set there the params. I don't want to send it by GET (it's personal information) and any way to avoid that (like ciphering the data or saving temporarily in a database) looks too much complicated for such a simple task.</li>
  <li>A landing portlet. I need to make the redirect with no user action needed, so the lifecycle of a portlet doesn't help me. The render phase (the one called when I land there) doesn't have the redirect method (looks like it goes against liferay's portlets politics) and I don't want to make a javascript autosubmit to reach the action phase.</li>
  </ul>
  
  <p>So, in summary, I need to:</p>
  
  <ul>
  <li>Be called from a third party</li>
  <li>Manage some of the data sent by that third party</li>
  <li>Redirect to a portlet, sending sensitive data not seen at the url</li>
  <li>Decide the better technology to do that</li>
  </ul>
  
  <p>Can you give me any suggestion?</p>
  
  <p>Thanks in advance.</p>