oidc-library-portal/src/main/java/org/gcube/portal/oidc/lr62/JWTCacheProxy.java

42 lines
1.2 KiB
Java
Raw Normal View History

2020-06-18 12:10:43 +02:00
package org.gcube.portal.oidc.lr62;
2020-05-29 13:04:55 +02:00
import javax.servlet.http.HttpSession;
2020-06-18 12:10:43 +02:00
import org.gcube.oidc.rest.JWTToken;
2020-05-29 13:04:55 +02:00
import com.liferay.portal.model.User;
public abstract class JWTCacheProxy {
2020-05-29 13:04:55 +02:00
protected static JWTCacheProxy instance;
2020-05-29 13:04:55 +02:00
public JWTCacheProxy() {
2020-05-29 13:04:55 +02:00
instance = this;
}
public static synchronized JWTCacheProxy getInstance() {
return instance != null ? instance : new IntraVMJWTCacheProxy();
2020-05-29 13:04:55 +02:00
}
public abstract void setOIDCToken(User user, HttpSession session, JWTToken token);
public abstract void setUMAToken(User user, HttpSession session, JWTToken token);
2020-05-29 13:04:55 +02:00
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);
2020-06-18 12:10:43 +02:00
public abstract void clearOIDCTokens();
public abstract void clearUMATokens();
public abstract void clearAllTokens();
2020-05-29 13:04:55 +02:00
protected String generateKey(User user, HttpSession session) {
return user.getScreenName() + "@" + session.getId();
}
}