From 6c6f896b77e71d1c91d258039b039dd8c29d4edd Mon Sep 17 00:00:00 2001 From: Mauro Mugnaini Date: Thu, 18 Jun 2020 12:09:45 +0200 Subject: [PATCH] New portal client to be used as infrastructure manager actor and URL objects are sused instead of strings for endpoints --- .../LiferayOpenIdConnectConfiguration.java | 67 +++++++++++-------- 1 file changed, 39 insertions(+), 28 deletions(-) diff --git a/src/main/java/org/gcube/portal/oidc/lr62/LiferayOpenIdConnectConfiguration.java b/src/main/java/org/gcube/portal/oidc/lr62/LiferayOpenIdConnectConfiguration.java index da7e8d6..59eace4 100644 --- a/src/main/java/org/gcube/portal/oidc/lr62/LiferayOpenIdConnectConfiguration.java +++ b/src/main/java/org/gcube/portal/oidc/lr62/LiferayOpenIdConnectConfiguration.java @@ -1,18 +1,21 @@ -package com.nubisware.oidc.lr62; +package org.gcube.portal.oidc.lr62; +import java.net.MalformedURLException; +import java.net.URL; import java.util.Collections; import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpServletRequest; +import org.gcube.oidc.rest.OpenIdConnectConfiguration; + import com.liferay.portal.kernel.exception.SystemException; import com.liferay.portal.kernel.log.Log; import com.liferay.portal.kernel.log.LogFactoryUtil; import com.liferay.portal.kernel.util.PrefsPropsUtil; import com.liferay.portal.security.auth.CompanyThreadLocal; import com.liferay.portal.util.PortalUtil; -import com.nubisware.oidc.rest.OpenIdConnectConfiguration; public class LiferayOpenIdConnectConfiguration implements OpenIdConnectConfiguration { @@ -22,11 +25,12 @@ public class LiferayOpenIdConnectConfiguration implements OpenIdConnectConfigura .synchronizedMap(new HashMap()); private Long companyId; - private String authorizationUrl; - private String tokenUrl; - private String logoutUrl; - private String issuerUrl; - private String clientId; + private URL authorizationURL; + private URL tokenURL; + private URL logoutURL; + private URL issuerURL; + private String portalClientId; + private String portalClientSecret; private String scope; private boolean logoutOnPortalLogout; private boolean createUnexistingUser; @@ -53,22 +57,24 @@ public class LiferayOpenIdConnectConfiguration implements OpenIdConnectConfigura log.info("Creating config from companyId: " + companyId); this.companyId = companyId; try { - this.authorizationUrl = PrefsPropsUtil.getString(companyId, "d4science.oidc-authorization"); - this.tokenUrl = PrefsPropsUtil.getString(companyId, "d4science.oidc-token"); - this.logoutUrl = PrefsPropsUtil.getString(companyId, "d4science.oidc-logout"); - this.issuerUrl = PrefsPropsUtil.getString(companyId, "d4science.oidc-issuer"); - this.clientId = PrefsPropsUtil.getString(companyId, "d4science.oidc-client-id"); + this.authorizationURL = new URL(PrefsPropsUtil.getString(companyId, "d4science.oidc-authorization")); + this.tokenURL = new URL(PrefsPropsUtil.getString(companyId, "d4science.oidc-token")); + this.logoutURL = new URL(PrefsPropsUtil.getString(companyId, "d4science.oidc-logout")); + this.issuerURL = new URL(PrefsPropsUtil.getString(companyId, "d4science.oidc-issuer")); + this.portalClientId = PrefsPropsUtil.getString(companyId, "d4science.oidc-portal-client-id"); + this.portalClientSecret = PrefsPropsUtil.getString(companyId, "d4science.oidc-portal-client-secret"); this.scope = PrefsPropsUtil.getString(companyId, "d4science.oidc-scope"); this.logoutOnPortalLogout = PrefsPropsUtil.getBoolean(companyId, "d4science.oidc-logout-on-portal-logout"); this.createUnexistingUser = PrefsPropsUtil.getBoolean(companyId, "d4science.oidc-create-unexisting-user"); - } catch (SystemException e) { + } catch (SystemException | MalformedURLException e) { throw new RuntimeException(e); } - log.info("authorizationUrl=" + getAuthorizationUrl()); - log.info("tokenUrl=" + getTokenUrl()); - log.info("logoutUrl=" + getLogoutUrl()); - log.info("issuerUrl=" + getIssuerUrl()); - log.info("clientId=" + getClientId()); + log.info("authorizationURL=" + getAuthorizationURL()); + log.info("tokenURL=" + getTokenURL()); + log.info("logoutURL=" + getLogoutURL()); + log.info("issuerURL=" + getIssuerURL()); + log.info("portalClientId=" + getPortalClientId()); + log.info("portalClientSecret=" + getPortalClientSecret()); log.info("scope=" + getScope()); log.info("logoutOnPortalLogout=" + logoutOnPortalLogout()); log.info("createUnexistingUser=" + createUnexistingUser()); @@ -79,28 +85,32 @@ public class LiferayOpenIdConnectConfiguration implements OpenIdConnectConfigura } @Override - public String getAuthorizationUrl() { - return this.authorizationUrl; + public URL getAuthorizationURL() { + return this.authorizationURL; } @Override - public String getTokenUrl() { - return this.tokenUrl; + public URL getTokenURL() { + return this.tokenURL; } @Override - public String getLogoutUrl() { - return this.logoutUrl; + public URL getLogoutURL() { + return this.logoutURL; } @Override - public String getIssuerUrl() { - return this.issuerUrl; + public URL getIssuerURL() { + return this.issuerURL; } @Override - public String getClientId() { - return this.clientId; + public String getPortalClientId() { + return this.portalClientId; + } + + public String getPortalClientSecret() { + return this.portalClientSecret; } @Override @@ -115,4 +125,5 @@ public class LiferayOpenIdConnectConfiguration implements OpenIdConnectConfigura public boolean createUnexistingUser() { return this.createUnexistingUser; } + }