Issue
- We can't extract the session ID using JavaScript, because the
Liferay.ThemeDisplay.getSessionId()
function consistently returns an empty string.
Environment
- Liferay DXP 7.4
Resolution
- By default, the
Liferay.ThemeDisplay.getSessionId()
function will always return a blank string. To change this, you need to adjust your settings. -
This is how you can resolve the issue:
- You need to set the property 'session.enable.url.with.session.id' to 'true' within the portal-ext.properties file.
- Once this change is made, the session ID can be retrieved using the
Liferay.ThemeDisplay.getSessionId()
function.
Additional Information
- While this solution will allow you to retrieve the session ID, it's crucial to understand the potential risk involved:
- The 'session.enable.url.with.session.id' property is usually set to 'false' to safeguard against potential security risks associated with session IDs being visible.
- Keeping session identifiers in cookies is generally safer and more efficient.
- This is because if a session ID is attached to a URL, there's a risk that if you share that URL, you could inadvertently share your session with the recipient if the code doesn't manage this scenario appropriately.
- Follow the link for more information regarding Session Management in Liferay.
Contenido exclusivo para suscriptores.
Una Suscripción Enterprise de Liferay proporciona acceso a más de 1.500 artículos que incluyen las mejores practicas, diagnóstico de problemas y otras soluciones útiles. Inicia sesión para tener un acceso completo.
Inicia sesión