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;
|
|
|
|
|
2020-06-18 12:10:43 +02:00
|
|
|
public abstract class OIDCTokenCacheProxy {
|
2020-05-29 13:04:55 +02:00
|
|
|
|
2020-06-18 12:10:43 +02:00
|
|
|
protected static OIDCTokenCacheProxy instance;
|
2020-05-29 13:04:55 +02:00
|
|
|
|
2020-06-18 12:10:43 +02:00
|
|
|
public OIDCTokenCacheProxy() {
|
2020-05-29 13:04:55 +02:00
|
|
|
instance = this;
|
|
|
|
}
|
2020-06-18 12:10:43 +02:00
|
|
|
public static synchronized OIDCTokenCacheProxy getInstance() {
|
|
|
|
return instance != null ? instance : new IntraVMOIDCTokenCacheProxy();
|
2020-05-29 13:04:55 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
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);
|
|
|
|
|
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();
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|