Feature #24755 asks for a fresh token anytime the button is clicked

This commit is contained in:
Massimiliano Assante 2023-03-20 16:59:44 +01:00
parent 4d90f27835
commit 2c47f5e01e
3 changed files with 16 additions and 3 deletions

View File

@ -1,5 +1,9 @@
# Changelog
## [v1.1.0-SNAPSHOT] - 2023-03-20
- Feature #24755 - igenerate a fresh token anytime the button is clicked.
## [v1.0.1] - 2022-05-25
- Bug #23411 fix to the context list when deplyed at VRE level

View File

@ -13,7 +13,7 @@
<artifactId>rpt-token-portlet</artifactId>
<packaging>war</packaging>
<name>RPT UMA Token Portlet</name>
<version>1.0.1</version>
<version>1.1.0-SNAPSHOT</version>
<description>
Requesting Party Token Portlet
</description>
@ -38,7 +38,7 @@
<dependency>
<groupId>org.gcube.distribution</groupId>
<artifactId>maven-portal-bom</artifactId>
<version>3.6.3</version>
<version>3.6.4-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>

View File

@ -14,13 +14,18 @@ import javax.servlet.http.HttpServletRequest;
import org.gcube.common.portal.PortalContext;
import org.gcube.common.scope.impl.ScopeBean;
import org.gcube.common.scope.impl.ScopeBean.Type;
import org.gcube.oidc.rest.JWTToken;
import org.gcube.oidc.rest.OpenIdConnectConfiguration;
import org.gcube.oidc.rest.OpenIdConnectRESTHelper;
import org.gcube.portal.oidc.lr62.LiferayOpenIdConnectConfiguration;
import org.gcube.portal.oidc.lr62.OIDCUmaUtil;
import org.gcube.vomanagement.usermanagement.GroupManager;
import org.gcube.vomanagement.usermanagement.impl.LiferayGroupManager;
import org.gcube.vomanagement.usermanagement.model.GCubeGroup;
import org.gcube.oidc.rest.JWTToken;
import com.liferay.portal.kernel.json.JSONFactoryUtil;
import com.liferay.portal.kernel.json.JSONObject;
import com.liferay.portal.kernel.log.LogFactoryUtil;
import com.liferay.portal.kernel.util.ParamUtil;
import com.liferay.portal.model.User;
import com.liferay.portal.util.PortalUtil;
@ -30,6 +35,7 @@ import com.liferay.util.bridges.mvc.MVCPortlet;
* Portlet implementation class RPTTokenReader
*/
public class RPTTokenReader extends MVCPortlet {
private static com.liferay.portal.kernel.log.Log log = LogFactoryUtil.getLog(RPTTokenReader.class);
@Override
public void render(RenderRequest renderRequest, RenderResponse renderResponse) throws PortletException, IOException {
@ -72,7 +78,10 @@ public class RPTTokenReader extends MVCPortlet {
JWTToken umaToken = null;
try {
String username = PortalUtil.getUser(resourceRequest).getScreenName();
OpenIdConnectConfiguration configuration = LiferayOpenIdConnectConfiguration.getConfiguration(httpReq);
umaToken = OIDCUmaUtil.getUMAToken(httpReq, username, context);
umaToken = OpenIdConnectRESTHelper.refreshToken(configuration.getTokenURL(), umaToken);
log.debug("Got a refreshed UMA token " + umaToken.getTokenEssentials());
} catch (Exception e) {
e.printStackTrace();
JSONObject jsonObject = JSONFactoryUtil.createJSONObject();