package org.gcube.portal.oidc.lr62; import javax.servlet.http.HttpSession; import org.gcube.oidc.rest.JWTToken; import com.liferay.portal.model.User; public abstract class OIDCTokenCacheProxy { protected static OIDCTokenCacheProxy instance; public OIDCTokenCacheProxy() { instance = this; } public static synchronized OIDCTokenCacheProxy getInstance() { return instance != null ? instance : new IntraVMOIDCTokenCacheProxy(); } public abstract void setOIDCToken(User user, HttpSession session, JWTToken token); public abstract void setRPTToken(User user, HttpSession session, JWTToken token); public abstract JWTToken getOIDCToken(User user, HttpSession session); public abstract JWTToken getUMAToken(User user, HttpSession session); public abstract void removeOIDCToken(User user, HttpSession session); public abstract void removeUMAToken(User user, HttpSession session); public abstract void clearOIDCTokens(); public abstract void clearUMATokens(); public abstract void clearAllTokens(); protected String generateKey(User user, HttpSession session) { return user.getScreenName() + "@" + session.getId(); } }