public class org.apache.hive.service.auth.saml.HiveSamlUtils extends java.lang.Object
{
public static final java.lang.String SSO_TOKEN_RESPONSE_PORT;
public static final java.lang.String SSO_CLIENT_IDENTIFIER;
public static final java.lang.String TOKEN_KEY;
public static final java.lang.String STATUS_KEY;
public static final java.lang.String MESSAGE_KEY;
public static final java.lang.String LOOP_BACK_INTERFACE;
public void <init>()
{
org.apache.hive.service.auth.saml.HiveSamlUtils v;
v := @this: org.apache.hive.service.auth.saml.HiveSamlUtils;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static boolean isSamlAuthMode(java.lang.String)
{
org.apache.hive.service.auth.HiveAuthConstants$AuthTypes v;
java.lang.String v, v, v, v;
boolean v;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase()>();
v = <org.apache.hive.service.auth.HiveAuthConstants$AuthTypes: org.apache.hive.service.auth.HiveAuthConstants$AuthTypes SAML>;
v = virtualinvoke v.<org.apache.hive.service.auth.HiveAuthConstants$AuthTypes: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase()>();
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>(v);
return v;
}
public static java.lang.String getCallBackPath(org.apache.hadoop.hive.conf.HiveConf) throws java.lang.Exception
{
org.apache.hadoop.hive.conf.HiveConf v;
java.lang.String v;
java.net.URI v;
v := @parameter: org.apache.hadoop.hive.conf.HiveConf;
v = staticinvoke <org.apache.hive.service.auth.saml.HiveSamlUtils: java.net.URI getCallBackUri(org.apache.hadoop.hive.conf.HiveConf)>(v);
v = virtualinvoke v.<java.net.URI: java.lang.String getPath()>();
return v;
}
public static java.net.URI getCallBackUri(org.apache.hadoop.hive.conf.HiveConf) throws java.lang.Exception
{
java.net.URISyntaxException v;
org.apache.hadoop.hive.conf.HiveConf$ConfVars v, v, v, v;
int v, v, v;
java.lang.String v, v, v, v, v;
java.net.URI v;
boolean v;
org.apache.hadoop.hive.conf.HiveConf v;
java.lang.Exception v;
v := @parameter: org.apache.hadoop.hive.conf.HiveConf;
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_SERVER2_SAML_CALLBACK_URL>;
v = virtualinvoke v.<org.apache.hadoop.hive.conf.HiveConf: java.lang.String getVar(org.apache.hadoop.hive.conf.HiveConf$ConfVars)>(v);
label:
v = new java.net.URI;
specialinvoke v.<java.net.URI: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<java.net.URI: int getPort()>();
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_SERVER2_THRIFT_HTTP_PORT>;
v = virtualinvoke v.<org.apache.hadoop.hive.conf.HiveConf: int getIntVar(org.apache.hadoop.hive.conf.HiveConf$ConfVars)>(v);
v = (int) -1;
if v == v goto label;
if v != v goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_SERVER2_THRIFT_HTTP_PORT>;
v = v.<org.apache.hadoop.hive.conf.HiveConf$ConfVars: java.lang.String varname>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int,java.lang.String)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Callback url \u must be at the same port \u defined by \u0001");
staticinvoke <com.google.common.base.Preconditions: void checkArgument(boolean,java.lang.Object)>(v, v);
label:
return v;
label:
v := @caughtexception;
v = new java.lang.Exception;
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_SERVER2_SAML_CALLBACK_URL>;
v = v.<org.apache.hadoop.hive.conf.HiveConf$ConfVars: java.lang.String varname>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Invalid callback url configuration: \u = \u0001");
specialinvoke v.<java.lang.Exception: void <init>(java.lang.String)>(v);
throw v;
catch java.net.URISyntaxException from label to label with label;
}
public static java.lang.String getLoopBackAddress(int)
{
java.lang.Object[] v;
int v;
java.lang.String v;
java.lang.Integer v;
v := @parameter: int;
v = newarray (java.lang.Object)[2];
v[0] = "127.0.0.1";
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("http://%s:%s", v);
return v;
}
public static int validateSamlResponsePort(javax.servlet.http.HttpServletRequest) throws org.apache.hive.service.auth.saml.HttpSamlAuthenticationException
{
javax.servlet.http.HttpServletRequest v;
org.apache.hive.service.auth.saml.HttpSamlAuthenticationException v, v;
int v;
java.lang.NumberFormatException v;
java.lang.String v;
boolean v;
v := @parameter: javax.servlet.http.HttpServletRequest;
v = interfaceinvoke v.<javax.servlet.http.HttpServletRequest: java.lang.String getHeader(java.lang.String)>("X-Hive-Token-Response-Port");
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v == 0 goto label;
label:
v = new org.apache.hive.service.auth.saml.HttpSamlAuthenticationException;
specialinvoke v.<org.apache.hive.service.auth.saml.HttpSamlAuthenticationException: void <init>(java.lang.String)>("No response port specified");
throw v;
label:
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = new org.apache.hive.service.auth.saml.HttpSamlAuthenticationException;
specialinvoke v.<org.apache.hive.service.auth.saml.HttpSamlAuthenticationException: void <init>(java.lang.String,java.lang.Throwable)>("Invalid response port received", v);
throw v;
catch java.lang.NumberFormatException from label to label with label;
}
}