42 lines
1.5 KiB
Java
42 lines
1.5 KiB
Java
package com.nubisware.oidc.lr62;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpSession;
|
|
|
|
import com.liferay.portal.kernel.events.Action;
|
|
import com.liferay.portal.kernel.events.ActionException;
|
|
import com.liferay.portal.kernel.log.Log;
|
|
import com.liferay.portal.kernel.log.LogFactoryUtil;
|
|
import com.liferay.portal.model.User;
|
|
import com.nubisware.oidc.rest.JWTToken;
|
|
|
|
public class PostLoginAction extends Action {
|
|
|
|
protected static final Log log = LogFactoryUtil.getLog(PostLoginAction.class);
|
|
|
|
@Override
|
|
public void run(HttpServletRequest request, HttpServletResponse response) throws ActionException {
|
|
if (log.isInfoEnabled()) {
|
|
log.info("PostLoginAction invoked");
|
|
}
|
|
JWTToken token = JWTTokenUtil.getOIDCFromRequest(request);
|
|
HttpSession session = request.getSession();
|
|
if (token != null && session != null) {
|
|
if (log.isTraceEnabled()) {
|
|
log.trace("Session details: id=" + session.getId() + ", instance=" + session);
|
|
}
|
|
User user = (User) session.getAttribute("USER");
|
|
if (user != null) {
|
|
log.info("Setting OIDC token in proxy");
|
|
OIDCTokenProxy.getInstance().setOIDCToken(user, session, token);
|
|
} else {
|
|
log.error("User object not found in session");
|
|
}
|
|
log.info("Setting OIDC token in session");
|
|
JWTTokenUtil.putOIDCInSession(token, session);
|
|
}
|
|
}
|
|
|
|
}
|