Now request server name is used as clientId for OIDC authentication and packages renamed from com.nubisware.* to org.gcube.*

This commit is contained in:
Mauro Mugnaini 2020-06-18 12:21:36 +02:00
parent 094e94eae4
commit bb59776f2a
6 changed files with 17 additions and 11 deletions

View File

@ -1,4 +1,4 @@
package com.nubisware.oidc.lr62;
package org.gcube.portal.oidc.lr62;
import java.util.Arrays;
import java.util.Calendar;
@ -8,6 +8,12 @@ import java.util.UUID;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.gcube.oidc.URLEncodedContextMapper;
import org.gcube.oidc.rest.JWTToken;
import org.gcube.portal.oidc.lr62.JWTTokenUtil;
import org.gcube.portal.oidc.lr62.LiferayOpenIdConnectConfiguration;
import org.gcube.portal.oidc.lr62.UserSitesToGroupsAndRolesMapper;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.log.Log;
@ -20,8 +26,6 @@ import com.liferay.portal.service.ServiceContext;
import com.liferay.portal.service.UserLocalServiceUtil;
import com.liferay.portal.util.PortalUtil;
import com.liferay.util.PwdGenerator;
import com.nubisware.oidc.gcube.URLEncodedContextMapper;
import com.nubisware.oidc.rest.JWTToken;
public class OpenIdConnectAutoLogin extends BaseAutoLogin {

View File

@ -1,4 +1,4 @@
package com.nubisware.oidc.lr62;
package org.gcube.portal.oidc.lr62;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
@ -6,6 +6,10 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.gcube.oidc.rest.JWTToken;
import org.gcube.oidc.rest.OpenIdConnectConfiguration;
import org.gcube.oidc.rest.OpenIdConnectRESTHelper;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.log.Log;
@ -13,9 +17,6 @@ import com.liferay.portal.kernel.log.LogFactoryUtil;
import com.liferay.portal.kernel.servlet.BaseFilter;
import com.liferay.portal.model.User;
import com.liferay.portal.util.PortalUtil;
import com.nubisware.oidc.rest.JWTToken;
import com.nubisware.oidc.rest.OpenIdConnectConfiguration;
import com.nubisware.oidc.rest.OpenIdConnectRESTHelper;
public class OpenIdConnectLoginFilter extends BaseFilter {
@ -52,8 +53,8 @@ public class OpenIdConnectLoginFilter extends BaseFilter {
OpenIdConnectConfiguration configuration = LiferayOpenIdConnectConfiguration.getConfiguration(request);
if (request.getParameter("state") != null && request.getParameter("state").equals(sessionId)) {
try {
token = OpenIdConnectRESTHelper.queryToken(configuration.getClientId(),
configuration.getTokenUrl(), request.getParameter("code"), configuration.getScope(),
token = OpenIdConnectRESTHelper.queryToken(request.getServerName(),
configuration.getTokenURL(), request.getParameter("code"), configuration.getScope(),
request.getRequestURL().toString());
} catch (Exception e) {
throw new ServletException("Querying token from OIDC server", e);
@ -61,8 +62,9 @@ public class OpenIdConnectLoginFilter extends BaseFilter {
JWTTokenUtil.putOIDCInRequest(token, request);
// The auto login class will perform the portal auto login using the token
} else {
String oidcRedirectURL = OpenIdConnectRESTHelper.buildLoginUrl(configuration.getAuthorizationUrl(),
configuration.getClientId(), sessionId, request.getRequestURL().toString());
String oidcRedirectURL = OpenIdConnectRESTHelper.buildLoginRequestURL(
configuration.getAuthorizationURL(), "preprod2.d4science.org" , sessionId,
request.getRequestURL().toString());
if (log.isDebugEnabled()) {
log.debug("Redirecting to OIDC server login URL: " + oidcRedirectURL);