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

62 lines
2.1 KiB
Java

package org.gcube.portal.oidc.lr62;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.gcube.oidc.rest.JWTToken;
public class JWTTokenUtil {
public static String OIDC_TOKEN_ATTRIBUTE = "OIDC_JWT";
public static String RPT_TOKEN_ATTRIBUTE = "UMA_RPT_JWT";
public static JWTToken fromString(String tokenString) {
return JWTToken.fromString(tokenString);
}
public static String getRawContent(JWTToken token) {
return token.getRaw();
}
public static JWTToken getOIDCFromRequest(HttpServletRequest request) {
return JWTToken.fromString((String) request.getAttribute(OIDC_TOKEN_ATTRIBUTE));
}
public static JWTToken getUMAFromRequest(HttpServletRequest request) {
return JWTToken.fromString((String) request.getAttribute(RPT_TOKEN_ATTRIBUTE));
}
public static void putOIDCInRequest(JWTToken token, HttpServletRequest request) {
request.setAttribute(OIDC_TOKEN_ATTRIBUTE, getRawContent(token));
}
public static void putUMAInRequest(JWTToken token, HttpServletRequest request) {
request.setAttribute(RPT_TOKEN_ATTRIBUTE, getRawContent(token));
}
public static JWTToken getOIDCFromSession(HttpSession session) {
return JWTToken.fromString((String) session.getAttribute(OIDC_TOKEN_ATTRIBUTE));
}
public static JWTToken getUMAFromSession(HttpSession session) {
return JWTToken.fromString((String) session.getAttribute(RPT_TOKEN_ATTRIBUTE));
}
public static void putOIDCInSession(JWTToken token, HttpSession session) {
session.setAttribute(OIDC_TOKEN_ATTRIBUTE, getRawContent(token));
}
public static void putUMAInSession(JWTToken token, HttpSession session) {
session.setAttribute(RPT_TOKEN_ATTRIBUTE, getRawContent(token));
}
public static void removeOIDCFromSession(HttpSession session) {
session.removeAttribute(OIDC_TOKEN_ATTRIBUTE);
}
public static void removeUMAFromSession(HttpSession session) {
session.removeAttribute(RPT_TOKEN_ATTRIBUTE);
}
}