public class WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource extends org.apache.nifi.registry.web.api.ApplicationResource
{
private static final org.slf4j.Logger logger;
private static final java.lang.String OIDC_REQUEST_IDENTIFIER;
private static final java.lang.String OIDC_ERROR_TITLE;
private static final java.lang.String REVOKE_ACCESS_TOKEN_LOGOUT;
private static final java.lang.String ID_TOKEN_LOGOUT;
private static final java.lang.String STANDARD_LOGOUT;
private org.apache.nifi.registry.properties.NiFiRegistryProperties properties;
private org.apache.nifi.registry.web.security.authentication.jwt.JwtService jwtService;
private org.apache.nifi.registry.web.security.authentication.oidc.OidcService oidcService;
private org.apache.nifi.registry.web.security.authentication.x.X509IdentityProvider x509IdentityProvider;
private org.apache.nifi.registry.web.security.authentication.kerberos.KerberosSpnegoIdentityProvider kerberosSpnegoIdentityProvider;
private org.apache.nifi.registry.security.authentication.IdentityProvider identityProvider;
protected javax.ws.rs.core.UriInfo uriInfo;
public void <init>(org.apache.nifi.registry.properties.NiFiRegistryProperties, org.apache.nifi.registry.web.security.authentication.jwt.JwtService, org.apache.nifi.registry.web.security.authentication.x.X509IdentityProvider, org.apache.nifi.registry.web.security.authentication.oidc.OidcService, org.apache.nifi.registry.web.security.authentication.kerberos.KerberosSpnegoIdentityProvider, org.apache.nifi.registry.security.authentication.IdentityProvider, org.apache.nifi.registry.web.service.ServiceFacade, org.apache.nifi.registry.event.EventService)
{
org.apache.nifi.registry.web.security.authentication.x.X509IdentityProvider v;
org.apache.nifi.registry.web.service.ServiceFacade v;
org.apache.nifi.registry.web.security.authentication.jwt.JwtService v;
org.apache.nifi.registry.event.EventService v;
org.apache.nifi.registry.security.authentication.IdentityProvider v;
org.apache.nifi.registry.web.security.authentication.oidc.OidcService v;
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
org.apache.nifi.registry.properties.NiFiRegistryProperties v;
org.apache.nifi.registry.web.security.authentication.kerberos.KerberosSpnegoIdentityProvider v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v := @parameter: org.apache.nifi.registry.properties.NiFiRegistryProperties;
v := @parameter: org.apache.nifi.registry.web.security.authentication.jwt.JwtService;
v := @parameter: org.apache.nifi.registry.web.security.authentication.x.X509IdentityProvider;
v := @parameter: org.apache.nifi.registry.web.security.authentication.oidc.OidcService;
v := @parameter: org.apache.nifi.registry.web.security.authentication.kerberos.KerberosSpnegoIdentityProvider;
v := @parameter: org.apache.nifi.registry.security.authentication.IdentityProvider;
v := @parameter: org.apache.nifi.registry.web.service.ServiceFacade;
v := @parameter: org.apache.nifi.registry.event.EventService;
specialinvoke v.<org.apache.nifi.registry.web.api.ApplicationResource: void <init>(org.apache.nifi.registry.web.service.ServiceFacade,org.apache.nifi.registry.event.EventService)>(v, v);
v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.properties.NiFiRegistryProperties properties> = v;
v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.jwt.JwtService jwtService> = v;
v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.x.X509IdentityProvider x509IdentityProvider> = v;
v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.oidc.OidcService oidcService> = v;
v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.kerberos.KerberosSpnegoIdentityProvider kerberosSpnegoIdentityProvider> = v;
v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.security.authentication.IdentityProvider identityProvider> = v;
return;
}
public javax.ws.rs.core.Response getAccessStatus(javax.servlet.http.HttpServletRequest)
{
java.lang.Throwable v;
org.apache.nifi.registry.web.service.ServiceFacade v;
org.apache.nifi.registry.security.authorization.user.NiFiUser v;
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
javax.servlet.http.HttpServletRequest v;
javax.ws.rs.core.Response v;
javax.ws.rs.core.Response$ResponseBuilder v;
org.apache.nifi.registry.authorization.CurrentUser v;
javax.ws.rs.WebApplicationException v;
boolean v, v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v := @parameter: javax.servlet.http.HttpServletRequest;
v = staticinvoke <org.apache.nifi.registry.security.authorization.user.NiFiUserUtils: org.apache.nifi.registry.security.authorization.user.NiFiUser getNiFiUser()>();
if v != null goto label;
v = new javax.ws.rs.WebApplicationException;
v = new java.lang.Throwable;
specialinvoke v.<java.lang.Throwable: void <init>(java.lang.String)>("Unable to access details for current user.");
specialinvoke v.<javax.ws.rs.WebApplicationException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.service.ServiceFacade serviceFacade>;
v = interfaceinvoke v.<org.apache.nifi.registry.web.service.ServiceFacade: org.apache.nifi.registry.authorization.CurrentUser getCurrentUser()>();
v = specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: boolean isBasicLoginSupported(javax.servlet.http.HttpServletRequest)>(v);
virtualinvoke v.<org.apache.nifi.registry.authorization.CurrentUser: void setLoginSupported(boolean)>(v);
v = specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: boolean isOIDCLoginSupported(javax.servlet.http.HttpServletRequest)>(v);
virtualinvoke v.<org.apache.nifi.registry.authorization.CurrentUser: void setOIDCLoginSupported(boolean)>(v);
v = virtualinvoke v.<org.apache.nifi.registry.web.api.AccessResource: javax.ws.rs.core.Response$ResponseBuilder generateOkResponse(java.lang.Object)>(v);
v = virtualinvoke v.<javax.ws.rs.core.Response$ResponseBuilder: javax.ws.rs.core.Response build()>();
return v;
}
public javax.ws.rs.core.Response createAccessTokenByTryingAllProviders(javax.servlet.http.HttpServletRequest)
{
java.lang.IllegalStateException v;
java.net.URI v;
java.util.stream.Collector v;
boolean v, v, v;
java.util.function.Predicate v;
java.util.List v;
java.util.stream.Stream v, v, v, v, v;
javax.ws.rs.core.Response v;
javax.ws.rs.core.Response$ResponseBuilder v;
org.apache.nifi.registry.web.exception.UnauthorizedException v, v;
java.lang.Throwable v;
java.lang.String[] v;
java.util.function.Function v, v;
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
javax.servlet.http.HttpServletRequest v;
java.lang.String v, v, v;
org.slf4j.Logger v, v;
java.util.Iterator v;
org.apache.nifi.registry.security.authentication.AuthenticationRequest v;
java.lang.Class v;
java.lang.Object v, v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v := @parameter: javax.servlet.http.HttpServletRequest;
v = interfaceinvoke v.<javax.servlet.http.HttpServletRequest: boolean isSecure()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Access tokens are only issued over HTTPS");
throw v;
label:
v = specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: java.util.List generateIdentityProviderWaterfall()>();
v = null;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<org.apache.nifi.registry.security.authentication.IdentityProvider: org.apache.nifi.registry.security.authentication.AuthenticationRequest extractCredentials(javax.servlet.http.HttpServletRequest)>(v);
if v == null goto label;
label:
v = specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: java.lang.String createAccessToken(org.apache.nifi.registry.security.authentication.IdentityProvider,org.apache.nifi.registry.security.authentication.AuthenticationRequest)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.nifi.registry.web.api.AccessResource: org.slf4j.Logger logger>;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getSimpleName()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("{}: the supplied client credentials are invalid.", v);
v = <org.apache.nifi.registry.web.api.AccessResource: org.slf4j.Logger logger>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Throwable)>("", v);
goto label;
label:
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isEmpty(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource$getUsageInstructions__1: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource$getAuthType__2: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource$nonNull__3: java.util.function.Predicate bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream distinct()>();
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v = new org.apache.nifi.registry.web.exception.UnauthorizedException;
specialinvoke v.<org.apache.nifi.registry.web.exception.UnauthorizedException: void <init>(java.lang.String)>("Client credentials are missing or invalid according to all configured identity providers.");
v = virtualinvoke v.<org.apache.nifi.registry.web.exception.UnauthorizedException: org.apache.nifi.registry.web.exception.UnauthorizedException withAuthenticateChallenge(java.util.List)>(v);
throw v;
label:
v = newarray (java.lang.String)[2];
v[0] = "access";
v[1] = "token";
v = virtualinvoke v.<org.apache.nifi.registry.web.api.AccessResource: java.lang.String generateResourceUri(java.lang.String[])>(v);
v = staticinvoke <java.net.URI: java.net.URI create(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.nifi.registry.web.api.AccessResource: javax.ws.rs.core.Response$ResponseBuilder generateCreatedResponse(java.net.URI,java.lang.Object)>(v, v);
v = virtualinvoke v.<javax.ws.rs.core.Response$ResponseBuilder: javax.ws.rs.core.Response build()>();
return v;
catch org.apache.nifi.registry.security.authentication.exception.InvalidCredentialsException from label to label with label;
}
public javax.ws.rs.core.Response createAccessTokenUsingBasicAuthCredentials(javax.servlet.http.HttpServletRequest)
{
java.lang.Throwable v;
java.lang.IllegalStateException v, v, v;
java.lang.String[] v;
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
javax.servlet.http.HttpServletRequest v;
java.lang.String v, v;
java.net.URI v;
boolean v, v;
org.slf4j.Logger v, v;
org.apache.nifi.registry.security.authentication.IdentityProvider v, v, v, v;
org.apache.nifi.registry.security.authentication.AuthenticationRequest v;
javax.ws.rs.core.Response v;
javax.ws.rs.core.Response$ResponseBuilder v;
org.apache.nifi.registry.web.exception.UnauthorizedException v, v, v, v;
org.apache.nifi.registry.security.authentication.IdentityProviderUsage$AuthType v, v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v := @parameter: javax.servlet.http.HttpServletRequest;
v = interfaceinvoke v.<javax.servlet.http.HttpServletRequest: boolean isSecure()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Access tokens are only issued over HTTPS");
throw v;
label:
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.security.authentication.IdentityProvider identityProvider>;
if v != null goto label;
v = <org.apache.nifi.registry.web.api.AccessResource: org.slf4j.Logger logger>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("An Identity Provider must be configured to use this endpoint. Please consult the administration guide.");
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Username/Password login not supported by this NiFi. Contact System Administrator.");
throw v;
label:
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.security.authentication.IdentityProvider identityProvider>;
v = v instanceof org.apache.nifi.registry.security.authentication.BasicAuthIdentityProvider;
if v != 0 goto label;
v = <org.apache.nifi.registry.web.api.AccessResource: org.slf4j.Logger logger>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("An Identity Provider is configured, but it does not support HTTP Basic Auth authentication. The configured Identity Provider must extend {}", class "Lorg/apache/nifi/registry/security/authentication/BasicAuthIdentityProvider;");
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Username/Password login not supported by this NiFi. Contact System Administrator.");
throw v;
label:
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.security.authentication.IdentityProvider identityProvider>;
v = interfaceinvoke v.<org.apache.nifi.registry.security.authentication.IdentityProvider: org.apache.nifi.registry.security.authentication.AuthenticationRequest extractCredentials(javax.servlet.http.HttpServletRequest)>(v);
if v != null goto label;
v = new org.apache.nifi.registry.web.exception.UnauthorizedException;
specialinvoke v.<org.apache.nifi.registry.web.exception.UnauthorizedException: void <init>(java.lang.String)>("The client credentials are missing from the request.");
v = <org.apache.nifi.registry.security.authentication.IdentityProviderUsage$AuthType: org.apache.nifi.registry.security.authentication.IdentityProviderUsage$AuthType OTHER>;
v = virtualinvoke v.<org.apache.nifi.registry.web.exception.UnauthorizedException: org.apache.nifi.registry.web.exception.UnauthorizedException withAuthenticateChallenge(org.apache.nifi.registry.security.authentication.IdentityProviderUsage$AuthType)>(v);
throw v;
label:
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.security.authentication.IdentityProvider identityProvider>;
v = specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: java.lang.String createAccessToken(org.apache.nifi.registry.security.authentication.IdentityProvider,org.apache.nifi.registry.security.authentication.AuthenticationRequest)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.nifi.registry.web.exception.UnauthorizedException;
specialinvoke v.<org.apache.nifi.registry.web.exception.UnauthorizedException: void <init>(java.lang.String,java.lang.Throwable)>("The supplied client credentials are not valid.", v);
v = <org.apache.nifi.registry.security.authentication.IdentityProviderUsage$AuthType: org.apache.nifi.registry.security.authentication.IdentityProviderUsage$AuthType OTHER>;
v = virtualinvoke v.<org.apache.nifi.registry.web.exception.UnauthorizedException: org.apache.nifi.registry.web.exception.UnauthorizedException withAuthenticateChallenge(org.apache.nifi.registry.security.authentication.IdentityProviderUsage$AuthType)>(v);
throw v;
label:
v = newarray (java.lang.String)[2];
v[0] = "access";
v[1] = "token";
v = virtualinvoke v.<org.apache.nifi.registry.web.api.AccessResource: java.lang.String generateResourceUri(java.lang.String[])>(v);
v = staticinvoke <java.net.URI: java.net.URI create(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.nifi.registry.web.api.AccessResource: javax.ws.rs.core.Response$ResponseBuilder generateCreatedResponse(java.net.URI,java.lang.Object)>(v, v);
v = virtualinvoke v.<javax.ws.rs.core.Response$ResponseBuilder: javax.ws.rs.core.Response build()>();
return v;
catch org.apache.nifi.registry.security.authentication.exception.InvalidCredentialsException from label to label with label;
}
public javax.ws.rs.core.Response logout(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
{
java.lang.Throwable v;
java.lang.IllegalStateException v;
org.apache.nifi.registry.web.security.authentication.jwt.JwtService v;
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
javax.servlet.http.HttpServletRequest v;
java.lang.String v, v, v, v;
boolean v, v;
org.slf4j.Logger v, v;
javax.servlet.http.HttpServletResponse v;
javax.ws.rs.core.Response v, v, v;
javax.ws.rs.core.Response$ResponseBuilder v, v, v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v := @parameter: javax.servlet.http.HttpServletRequest;
v := @parameter: javax.servlet.http.HttpServletResponse;
v = interfaceinvoke v.<javax.servlet.http.HttpServletRequest: boolean isSecure()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("User authentication/authorization is only supported when running over HTTPS.");
throw v;
label:
v = staticinvoke <org.apache.nifi.registry.security.authorization.user.NiFiUserUtils: java.lang.String getNiFiUserIdentity()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
label:
v = <org.apache.nifi.registry.web.api.AccessResource: org.slf4j.Logger logger>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Logging out user \u0001");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.jwt.JwtService jwtService>;
virtualinvoke v.<org.apache.nifi.registry.web.security.authentication.jwt.JwtService: void deleteKey(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.nifi.registry.web.api.AccessResource: javax.ws.rs.core.Response$ResponseBuilder generateOkResponse()>();
v = virtualinvoke v.<javax.ws.rs.core.Response$ResponseBuilder: javax.ws.rs.core.Response build()>();
label:
return v;
label:
v := @caughtexception;
v = <org.apache.nifi.registry.web.api.AccessResource: org.slf4j.Logger logger>;
v = virtualinvoke v.<io.jsonwebtoken.JwtException: java.lang.String getMessage()>();
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[])>("Logout of user \u failed due to: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>(v);
v = staticinvoke <javax.ws.rs.core.Response: javax.ws.rs.core.Response$ResponseBuilder serverError()>();
v = virtualinvoke v.<javax.ws.rs.core.Response$ResponseBuilder: javax.ws.rs.core.Response build()>();
return v;
label:
v = staticinvoke <javax.ws.rs.core.Response: javax.ws.rs.core.Response$ResponseBuilder status(int,java.lang.String)>(401, "Authentication token provided was empty or not in the correct JWT format.");
v = virtualinvoke v.<javax.ws.rs.core.Response$ResponseBuilder: javax.ws.rs.core.Response build()>();
return v;
catch io.jsonwebtoken.JwtException from label to label with label;
}
public void logoutComplete(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) throws java.io.IOException
{
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
java.lang.IllegalStateException v;
javax.servlet.http.HttpServletRequest v;
javax.servlet.http.HttpServletResponse v;
java.lang.String v;
boolean v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v := @parameter: javax.servlet.http.HttpServletRequest;
v := @parameter: javax.servlet.http.HttpServletResponse;
v = interfaceinvoke v.<javax.servlet.http.HttpServletRequest: boolean isSecure()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("User logout is only supported when running over HTTPS.");
throw v;
label:
v = virtualinvoke v.<org.apache.nifi.registry.web.api.AccessResource: java.lang.String getNiFiRegistryUri()>();
interfaceinvoke v.<javax.servlet.http.HttpServletResponse: void sendRedirect(java.lang.String)>(v);
return;
}
public javax.ws.rs.core.Response createAccessTokenUsingKerberosTicket(javax.servlet.http.HttpServletRequest)
{
java.lang.Throwable v;
java.lang.IllegalStateException v, v;
java.lang.String[] v;
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
javax.servlet.http.HttpServletRequest v;
org.apache.nifi.registry.properties.NiFiRegistryProperties v;
java.lang.String v, v;
java.net.URI v;
org.apache.nifi.registry.web.security.authentication.kerberos.KerberosSpnegoIdentityProvider v, v, v, v, v;
boolean v, v;
org.apache.nifi.registry.security.authentication.AuthenticationRequest v;
javax.ws.rs.core.Response v;
javax.ws.rs.core.Response$ResponseBuilder v;
org.apache.nifi.registry.web.exception.UnauthorizedException v, v, v, v;
org.apache.nifi.registry.security.authentication.IdentityProviderUsage v, v;
org.apache.nifi.registry.security.authentication.IdentityProviderUsage$AuthType v, v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v := @parameter: javax.servlet.http.HttpServletRequest;
v = interfaceinvoke v.<javax.servlet.http.HttpServletRequest: boolean isSecure()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Access tokens are only issued over HTTPS");
throw v;
label:
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.properties.NiFiRegistryProperties properties>;
v = virtualinvoke v.<org.apache.nifi.registry.properties.NiFiRegistryProperties: boolean isKerberosSpnegoSupportEnabled()>();
if v == 0 goto label;
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.kerberos.KerberosSpnegoIdentityProvider kerberosSpnegoIdentityProvider>;
if v != null goto label;
label:
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Kerberos service ticket login not supported by this NiFi Registry");
throw v;
label:
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.kerberos.KerberosSpnegoIdentityProvider kerberosSpnegoIdentityProvider>;
v = virtualinvoke v.<org.apache.nifi.registry.web.security.authentication.kerberos.KerberosSpnegoIdentityProvider: org.apache.nifi.registry.security.authentication.AuthenticationRequest extractCredentials(javax.servlet.http.HttpServletRequest)>(v);
if v != null goto label;
v = new org.apache.nifi.registry.web.exception.UnauthorizedException;
specialinvoke v.<org.apache.nifi.registry.web.exception.UnauthorizedException: void <init>(java.lang.String)>("The client credentials are missing from the request.");
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.kerberos.KerberosSpnegoIdentityProvider kerberosSpnegoIdentityProvider>;
v = virtualinvoke v.<org.apache.nifi.registry.web.security.authentication.kerberos.KerberosSpnegoIdentityProvider: org.apache.nifi.registry.security.authentication.IdentityProviderUsage getUsageInstructions()>();
v = interfaceinvoke v.<org.apache.nifi.registry.security.authentication.IdentityProviderUsage: org.apache.nifi.registry.security.authentication.IdentityProviderUsage$AuthType getAuthType()>();
v = virtualinvoke v.<org.apache.nifi.registry.web.exception.UnauthorizedException: org.apache.nifi.registry.web.exception.UnauthorizedException withAuthenticateChallenge(org.apache.nifi.registry.security.authentication.IdentityProviderUsage$AuthType)>(v);
throw v;
label:
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.kerberos.KerberosSpnegoIdentityProvider kerberosSpnegoIdentityProvider>;
v = specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: java.lang.String createAccessToken(org.apache.nifi.registry.security.authentication.IdentityProvider,org.apache.nifi.registry.security.authentication.AuthenticationRequest)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.nifi.registry.web.exception.UnauthorizedException;
specialinvoke v.<org.apache.nifi.registry.web.exception.UnauthorizedException: void <init>(java.lang.String,java.lang.Throwable)>("The supplied client credentials are not valid.", v);
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.kerberos.KerberosSpnegoIdentityProvider kerberosSpnegoIdentityProvider>;
v = virtualinvoke v.<org.apache.nifi.registry.web.security.authentication.kerberos.KerberosSpnegoIdentityProvider: org.apache.nifi.registry.security.authentication.IdentityProviderUsage getUsageInstructions()>();
v = interfaceinvoke v.<org.apache.nifi.registry.security.authentication.IdentityProviderUsage: org.apache.nifi.registry.security.authentication.IdentityProviderUsage$AuthType getAuthType()>();
v = virtualinvoke v.<org.apache.nifi.registry.web.exception.UnauthorizedException: org.apache.nifi.registry.web.exception.UnauthorizedException withAuthenticateChallenge(org.apache.nifi.registry.security.authentication.IdentityProviderUsage$AuthType)>(v);
throw v;
label:
v = newarray (java.lang.String)[2];
v[0] = "access";
v[1] = "token";
v = virtualinvoke v.<org.apache.nifi.registry.web.api.AccessResource: java.lang.String generateResourceUri(java.lang.String[])>(v);
v = staticinvoke <java.net.URI: java.net.URI create(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.nifi.registry.web.api.AccessResource: javax.ws.rs.core.Response$ResponseBuilder generateCreatedResponse(java.net.URI,java.lang.Object)>(v, v);
v = virtualinvoke v.<javax.ws.rs.core.Response$ResponseBuilder: javax.ws.rs.core.Response build()>();
return v;
catch org.apache.nifi.registry.security.authentication.exception.InvalidCredentialsException from label to label with label;
}
public javax.ws.rs.core.Response createAccessTokenUsingIdentityProviderCredentials(javax.servlet.http.HttpServletRequest)
{
java.lang.Throwable v;
java.lang.IllegalStateException v, v;
java.lang.String[] v;
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
javax.servlet.http.HttpServletRequest v;
java.lang.String v, v;
java.net.URI v;
boolean v;
org.apache.nifi.registry.security.authentication.IdentityProvider v, v, v, v, v;
org.apache.nifi.registry.security.authentication.AuthenticationRequest v;
javax.ws.rs.core.Response v;
javax.ws.rs.core.Response$ResponseBuilder v;
org.apache.nifi.registry.web.exception.UnauthorizedException v, v, v, v;
org.apache.nifi.registry.security.authentication.IdentityProviderUsage v, v;
org.apache.nifi.registry.security.authentication.IdentityProviderUsage$AuthType v, v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v := @parameter: javax.servlet.http.HttpServletRequest;
v = interfaceinvoke v.<javax.servlet.http.HttpServletRequest: boolean isSecure()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Access tokens are only issued over HTTPS");
throw v;
label:
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.security.authentication.IdentityProvider identityProvider>;
if v != null goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Custom login not supported by this NiFi Registry");
throw v;
label:
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.security.authentication.IdentityProvider identityProvider>;
v = interfaceinvoke v.<org.apache.nifi.registry.security.authentication.IdentityProvider: org.apache.nifi.registry.security.authentication.AuthenticationRequest extractCredentials(javax.servlet.http.HttpServletRequest)>(v);
if v != null goto label;
v = new org.apache.nifi.registry.web.exception.UnauthorizedException;
specialinvoke v.<org.apache.nifi.registry.web.exception.UnauthorizedException: void <init>(java.lang.String)>("The client credentials are missing from the request.");
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.security.authentication.IdentityProvider identityProvider>;
v = interfaceinvoke v.<org.apache.nifi.registry.security.authentication.IdentityProvider: org.apache.nifi.registry.security.authentication.IdentityProviderUsage getUsageInstructions()>();
v = interfaceinvoke v.<org.apache.nifi.registry.security.authentication.IdentityProviderUsage: org.apache.nifi.registry.security.authentication.IdentityProviderUsage$AuthType getAuthType()>();
v = virtualinvoke v.<org.apache.nifi.registry.web.exception.UnauthorizedException: org.apache.nifi.registry.web.exception.UnauthorizedException withAuthenticateChallenge(org.apache.nifi.registry.security.authentication.IdentityProviderUsage$AuthType)>(v);
throw v;
label:
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.security.authentication.IdentityProvider identityProvider>;
v = specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: java.lang.String createAccessToken(org.apache.nifi.registry.security.authentication.IdentityProvider,org.apache.nifi.registry.security.authentication.AuthenticationRequest)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.nifi.registry.web.exception.UnauthorizedException;
specialinvoke v.<org.apache.nifi.registry.web.exception.UnauthorizedException: void <init>(java.lang.String,java.lang.Throwable)>("The supplied client credentials are not valid.", v);
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.security.authentication.IdentityProvider identityProvider>;
v = interfaceinvoke v.<org.apache.nifi.registry.security.authentication.IdentityProvider: org.apache.nifi.registry.security.authentication.IdentityProviderUsage getUsageInstructions()>();
v = interfaceinvoke v.<org.apache.nifi.registry.security.authentication.IdentityProviderUsage: org.apache.nifi.registry.security.authentication.IdentityProviderUsage$AuthType getAuthType()>();
v = virtualinvoke v.<org.apache.nifi.registry.web.exception.UnauthorizedException: org.apache.nifi.registry.web.exception.UnauthorizedException withAuthenticateChallenge(org.apache.nifi.registry.security.authentication.IdentityProviderUsage$AuthType)>(v);
throw v;
label:
v = newarray (java.lang.String)[2];
v[0] = "access";
v[1] = "token";
v = virtualinvoke v.<org.apache.nifi.registry.web.api.AccessResource: java.lang.String generateResourceUri(java.lang.String[])>(v);
v = staticinvoke <java.net.URI: java.net.URI create(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.nifi.registry.web.api.AccessResource: javax.ws.rs.core.Response$ResponseBuilder generateCreatedResponse(java.net.URI,java.lang.Object)>(v, v);
v = virtualinvoke v.<javax.ws.rs.core.Response$ResponseBuilder: javax.ws.rs.core.Response build()>();
return v;
catch org.apache.nifi.registry.security.authentication.exception.InvalidCredentialsException from label to label with label;
}
public javax.ws.rs.core.Response getIdentityProviderUsageInstructions(javax.servlet.http.HttpServletRequest)
{
java.lang.IllegalStateException v;
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
javax.servlet.http.HttpServletRequest v;
javax.ws.rs.core.Response$Status v;
java.lang.String v, v, v, v, v, v, v;
boolean v;
org.apache.nifi.registry.security.authentication.IdentityProvider v, v, v, v;
java.lang.Exception v;
javax.ws.rs.core.Response v, v;
javax.ws.rs.core.Response$ResponseBuilder v, v, v;
java.lang.Class v, v;
org.apache.nifi.registry.security.authentication.IdentityProviderUsage v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v := @parameter: javax.servlet.http.HttpServletRequest;
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.security.authentication.IdentityProvider identityProvider>;
if v != null goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Custom login not supported by this NiFi Registry");
throw v;
label:
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.security.authentication.IdentityProvider identityProvider>;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getSimpleName()>();
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isNotEmpty(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Class: java.lang.String getSimpleName()>();
goto label;
label:
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Usage Instructions for \'\u0001\': ");
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.security.authentication.IdentityProvider identityProvider>;
v = interfaceinvoke v.<org.apache.nifi.registry.security.authentication.IdentityProvider: org.apache.nifi.registry.security.authentication.IdentityProviderUsage getUsageInstructions()>();
v = interfaceinvoke v.<org.apache.nifi.registry.security.authentication.IdentityProviderUsage: java.lang.String getText()>();
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[])>("\u0001\u0001");
v = virtualinvoke v.<org.apache.nifi.registry.web.api.AccessResource: javax.ws.rs.core.Response$ResponseBuilder generateOkResponse(java.lang.Object)>(v);
v = virtualinvoke v.<javax.ws.rs.core.Response$ResponseBuilder: javax.ws.rs.core.Response build()>();
label:
return v;
label:
v := @caughtexception;
v = <javax.ws.rs.core.Response$Status: javax.ws.rs.core.Response$Status NOT_IMPLEMENTED>;
v = staticinvoke <javax.ws.rs.core.Response: javax.ws.rs.core.Response$ResponseBuilder status(javax.ws.rs.core.Response$Status)>(v);
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.security.authentication.IdentityProvider identityProvider>;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("The currently configured identity provider, \'\u0001\' does not provide usage instructions.");
v = virtualinvoke v.<javax.ws.rs.core.Response$ResponseBuilder: javax.ws.rs.core.Response$ResponseBuilder entity(java.lang.Object)>(v);
v = virtualinvoke v.<javax.ws.rs.core.Response$ResponseBuilder: javax.ws.rs.core.Response build()>();
return v;
catch java.lang.Exception from label to label with label;
}
public javax.ws.rs.core.Response testIdentityProviderRecognizesCredentialsFormat(javax.servlet.http.HttpServletRequest)
{
java.lang.IllegalStateException v, v;
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
javax.servlet.http.HttpServletRequest v;
java.lang.String v, v, v, v, v;
boolean v, v;
org.apache.nifi.registry.security.authentication.IdentityProvider v, v, v, v, v;
org.apache.nifi.registry.security.authentication.AuthenticationRequest v;
javax.ws.rs.core.Response v;
javax.ws.rs.core.Response$ResponseBuilder v;
java.lang.Class v;
org.apache.nifi.registry.web.exception.UnauthorizedException v, v;
org.apache.nifi.registry.security.authentication.IdentityProviderUsage v, v;
org.apache.nifi.registry.security.authentication.IdentityProviderUsage$AuthType v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v := @parameter: javax.servlet.http.HttpServletRequest;
v = interfaceinvoke v.<javax.servlet.http.HttpServletRequest: boolean isSecure()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Access tokens are only issued over HTTPS");
throw v;
label:
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.security.authentication.IdentityProvider identityProvider>;
if v != null goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Custom login not supported by this NiFi Registry");
throw v;
label:
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.security.authentication.IdentityProvider identityProvider>;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getSimpleName()>();
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isNotEmpty(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Class: java.lang.String getSimpleName()>();
goto label;
label:
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
label:
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.security.authentication.IdentityProvider identityProvider>;
v = interfaceinvoke v.<org.apache.nifi.registry.security.authentication.IdentityProvider: org.apache.nifi.registry.security.authentication.AuthenticationRequest extractCredentials(javax.servlet.http.HttpServletRequest)>(v);
if v != null goto label;
v = new org.apache.nifi.registry.web.exception.UnauthorizedException;
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.security.authentication.IdentityProvider identityProvider>;
v = interfaceinvoke v.<org.apache.nifi.registry.security.authentication.IdentityProvider: org.apache.nifi.registry.security.authentication.IdentityProviderUsage getUsageInstructions()>();
v = interfaceinvoke v.<org.apache.nifi.registry.security.authentication.IdentityProviderUsage: java.lang.String getText()>();
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[])>("The format of the credentials were not recognized by the currently configured identity provider \'\u0001\'. \u0001");
specialinvoke v.<org.apache.nifi.registry.web.exception.UnauthorizedException: void <init>(java.lang.String)>(v);
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.security.authentication.IdentityProvider identityProvider>;
v = interfaceinvoke v.<org.apache.nifi.registry.security.authentication.IdentityProvider: org.apache.nifi.registry.security.authentication.IdentityProviderUsage getUsageInstructions()>();
v = interfaceinvoke v.<org.apache.nifi.registry.security.authentication.IdentityProviderUsage: org.apache.nifi.registry.security.authentication.IdentityProviderUsage$AuthType getAuthType()>();
v = virtualinvoke v.<org.apache.nifi.registry.web.exception.UnauthorizedException: org.apache.nifi.registry.web.exception.UnauthorizedException withAuthenticateChallenge(org.apache.nifi.registry.security.authentication.IdentityProviderUsage$AuthType)>(v);
throw v;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("\u recognized the format of the credentials in the HTTP request.");
v = virtualinvoke v.<org.apache.nifi.registry.web.api.AccessResource: javax.ws.rs.core.Response$ResponseBuilder generateOkResponse(java.lang.Object)>(v);
v = virtualinvoke v.<javax.ws.rs.core.Response$ResponseBuilder: javax.ws.rs.core.Response build()>();
return v;
}
public void oidcRequest(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) throws java.lang.Exception
{
java.lang.IllegalStateException v, v;
javax.servlet.http.HttpServletResponse v;
org.apache.nifi.registry.web.security.authentication.oidc.OidcService v;
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
javax.servlet.http.HttpServletRequest v;
java.lang.String v, v;
java.net.URI v;
boolean v, v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v := @parameter: javax.servlet.http.HttpServletRequest;
v := @parameter: javax.servlet.http.HttpServletResponse;
v = interfaceinvoke v.<javax.servlet.http.HttpServletRequest: boolean isSecure()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("User authentication/authorization is only supported when running over HTTPS.");
throw v;
label:
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.oidc.OidcService oidcService>;
v = virtualinvoke v.<org.apache.nifi.registry.web.security.authentication.oidc.OidcService: boolean isOidcEnabled()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("OpenId Connect is not configured.");
throw v;
label:
v = specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: java.lang.String getOidcCallback()>();
v = specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: java.net.URI oidcRequestAuthorizationCode(javax.servlet.http.HttpServletResponse,java.lang.String)>(v, v);
v = virtualinvoke v.<java.net.URI: java.lang.String toString()>();
interfaceinvoke v.<javax.servlet.http.HttpServletResponse: void sendRedirect(java.lang.String)>(v);
return;
}
public void oidcCallback(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) throws java.lang.Exception
{
java.lang.IllegalStateException v, v, v, v, v;
org.apache.nifi.registry.web.security.authentication.oidc.OidcService v, v;
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
javax.servlet.http.HttpServletRequest v;
com.nimbusds.openid.connect.sdk.AuthenticationResponse v;
java.lang.String v, v, v, v, v, v, v, v, v;
java.net.URI v, v;
boolean v, v, v;
org.slf4j.Logger v;
com.nimbusds.oauth.sdk.AuthorizationCodeGrant v;
javax.servlet.http.HttpServletResponse v;
com.nimbusds.oauth.sdk.ErrorObject v;
java.lang.Exception v;
com.nimbusds.oauth.sdk.AuthorizationCode v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v := @parameter: javax.servlet.http.HttpServletRequest;
v := @parameter: javax.servlet.http.HttpServletResponse;
v = interfaceinvoke v.<javax.servlet.http.HttpServletRequest: boolean isSecure()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("User authentication/authorization is only supported when running over HTTPS.");
throw v;
label:
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.oidc.OidcService oidcService>;
v = virtualinvoke v.<org.apache.nifi.registry.web.security.authentication.oidc.OidcService: boolean isOidcEnabled()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("OpenId Connect is not configured.");
throw v;
label:
v = specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: java.lang.String getOidcRequestIdentifier(javax.servlet.http.HttpServletRequest)>(v);
if v != null goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("The login request identifier was not found in the request. Unable to continue.");
throw v;
label:
v = virtualinvoke v.<org.apache.nifi.registry.web.api.AccessResource: java.net.URI getRequestUri()>();
v = specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: com.nimbusds.openid.connect.sdk.AuthenticationResponse parseAuthenticationResponse(java.net.URI,javax.servlet.http.HttpServletResponse,boolean)>(v, v, 1);
v = interfaceinvoke v.<com.nimbusds.openid.connect.sdk.AuthenticationResponse: boolean indicatesSuccess()>();
if v == 0 goto label;
specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: void validateOIDCState(java.lang.String,com.nimbusds.openid.connect.sdk.AuthenticationSuccessResponse,javax.servlet.http.HttpServletResponse,boolean)>(v, v, v, 1);
label:
v = virtualinvoke v.<com.nimbusds.openid.connect.sdk.AuthenticationSuccessResponse: com.nimbusds.oauth.sdk.AuthorizationCode getAuthorizationCode()>();
v = new com.nimbusds.oauth.sdk.AuthorizationCodeGrant;
v = specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: java.lang.String getOidcCallback()>();
v = staticinvoke <java.net.URI: java.net.URI create(java.lang.String)>(v);
specialinvoke v.<com.nimbusds.oauth.sdk.AuthorizationCodeGrant: void <init>(com.nimbusds.oauth.sdk.AuthorizationCode,java.net.URI)>(v, v);
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.oidc.OidcService oidcService>;
virtualinvoke v.<org.apache.nifi.registry.web.security.authentication.oidc.OidcService: void exchangeAuthorizationCodeForLoginAuthenticationToken(java.lang.String,com.nimbusds.oauth.sdk.AuthorizationGrant)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.nifi.registry.web.api.AccessResource: org.slf4j.Logger logger>;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Unable to exchange authorization for ID token: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>(v, v);
specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: void removeOidcRequestCookie(javax.servlet.http.HttpServletResponse)>(v);
v = new java.lang.IllegalStateException;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Unable to exchange authorization for ID token: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.apache.nifi.registry.web.api.AccessResource: java.lang.String getNiFiRegistryUri()>();
interfaceinvoke v.<javax.servlet.http.HttpServletResponse: void sendRedirect(java.lang.String)>(v);
goto label;
label:
specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: void removeOidcRequestCookie(javax.servlet.http.HttpServletResponse)>(v);
v = new java.lang.IllegalStateException;
v = virtualinvoke v.<com.nimbusds.openid.connect.sdk.AuthenticationErrorResponse: com.nimbusds.oauth.sdk.ErrorObject getErrorObject()>();
v = virtualinvoke v.<com.nimbusds.oauth.sdk.ErrorObject: java.lang.String getDescription()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Unsuccessful login attempt: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
catch java.lang.Exception from label to label with label;
}
public javax.ws.rs.core.Response oidcExchange(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) throws java.lang.Exception
{
java.lang.IllegalStateException v, v;
javax.servlet.http.HttpServletResponse v;
org.apache.nifi.registry.web.security.authentication.oidc.OidcService v, v;
java.lang.IllegalArgumentException v, v;
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
javax.servlet.http.HttpServletRequest v;
javax.ws.rs.core.Response v;
javax.ws.rs.core.Response$ResponseBuilder v;
java.lang.String v, v;
boolean v, v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v := @parameter: javax.servlet.http.HttpServletRequest;
v := @parameter: javax.servlet.http.HttpServletResponse;
v = interfaceinvoke v.<javax.servlet.http.HttpServletRequest: boolean isSecure()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("User authentication/authorization is only supported when running over HTTPS.");
throw v;
label:
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.oidc.OidcService oidcService>;
v = virtualinvoke v.<org.apache.nifi.registry.web.security.authentication.oidc.OidcService: boolean isOidcEnabled()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("OpenId Connect is not configured.");
throw v;
label:
v = specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: java.lang.String getOidcRequestIdentifier(javax.servlet.http.HttpServletRequest)>(v);
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("The login request identifier was not found in the request. Unable to continue.");
throw v;
label:
specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: void removeOidcRequestCookie(javax.servlet.http.HttpServletResponse)>(v);
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.oidc.OidcService oidcService>;
v = virtualinvoke v.<org.apache.nifi.registry.web.security.authentication.oidc.OidcService: java.lang.String getJwt(java.lang.String)>(v);
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("A JWT for this login request identifier could not be found. Unable to continue.");
throw v;
label:
v = virtualinvoke v.<org.apache.nifi.registry.web.api.AccessResource: javax.ws.rs.core.Response$ResponseBuilder generateOkResponse(java.lang.Object)>(v);
v = virtualinvoke v.<javax.ws.rs.core.Response$ResponseBuilder: javax.ws.rs.core.Response build()>();
return v;
}
public void oidcLogout(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) throws java.lang.Exception
{
java.lang.IllegalStateException v, v, v;
java.lang.Object[] v, v, v;
org.apache.nifi.registry.web.security.authentication.oidc.OidcService v, v, v;
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
javax.servlet.http.HttpServletRequest v;
byte v;
int v;
javax.ws.rs.core.UriBuilder v, v, v;
java.lang.String v, v, v, v, v, v;
java.net.URI v, v, v;
boolean v, v, v, v;
javax.servlet.http.HttpServletResponse v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v := @parameter: javax.servlet.http.HttpServletRequest;
v := @parameter: javax.servlet.http.HttpServletResponse;
v = interfaceinvoke v.<javax.servlet.http.HttpServletRequest: boolean isSecure()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("User authentication/authorization is only supported when running over HTTPS.");
throw v;
label:
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.oidc.OidcService oidcService>;
v = virtualinvoke v.<org.apache.nifi.registry.web.security.authentication.oidc.OidcService: boolean isOidcEnabled()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("OpenId Connect is not configured.");
throw v;
label:
v = specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: java.lang.String determineLogoutMethod()>();
v = -1;
v = virtualinvoke v.<java.lang.String: int hashCode()>();
lookupswitch(v)
{
case -1170133298: goto label;
case 883140645: goto label;
default: goto label;
};
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("oidc_access_token_logout");
if v == 0 goto label;
v = 0;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("oidc_id_token_logout");
if v == 0 goto label;
v = 1;
label:
lookupswitch(v)
{
case 0: goto label;
case 1: goto label;
default: goto label;
};
label:
v = specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: java.lang.String getOidcLogoutCallback()>();
v = specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: java.net.URI oidcRequestAuthorizationCode(javax.servlet.http.HttpServletResponse,java.lang.String)>(v, v);
v = virtualinvoke v.<java.net.URI: java.lang.String toString()>();
interfaceinvoke v.<javax.servlet.http.HttpServletResponse: void sendRedirect(java.lang.String)>(v);
goto label;
label:
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.oidc.OidcService oidcService>;
v = virtualinvoke v.<org.apache.nifi.registry.web.security.authentication.oidc.OidcService: java.net.URI getEndSessionEndpoint()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.nifi.registry.web.api.AccessResource: java.lang.String getNiFiRegistryUri()>();
v = staticinvoke <javax.ws.rs.core.UriBuilder: javax.ws.rs.core.UriBuilder fromUri(java.net.URI)>(v);
v = newarray (java.lang.Object)[1];
v[0] = v;
v = virtualinvoke v.<javax.ws.rs.core.UriBuilder: javax.ws.rs.core.UriBuilder queryParam(java.lang.String,java.lang.Object[])>("post_logout_redirect_uri", v);
v = newarray (java.lang.Object)[1];
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.oidc.OidcService oidcService>;
v = virtualinvoke v.<org.apache.nifi.registry.web.security.authentication.oidc.OidcService: java.lang.String getClientId()>();
v[0] = v;
v = virtualinvoke v.<javax.ws.rs.core.UriBuilder: javax.ws.rs.core.UriBuilder queryParam(java.lang.String,java.lang.Object[])>("client_id", v);
v = newarray (java.lang.Object)[0];
v = virtualinvoke v.<javax.ws.rs.core.UriBuilder: java.net.URI build(java.lang.Object[])>(v);
v = virtualinvoke v.<java.net.URI: java.lang.String toString()>();
interfaceinvoke v.<javax.servlet.http.HttpServletResponse: void sendRedirect(java.lang.String)>(v);
goto label;
label:
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Unable to initiate logout: Logout method unrecognized");
throw v;
label:
return;
}
public void oidcLogoutCallback(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) throws java.lang.Exception
{
java.lang.IllegalStateException v, v, v, v, v, v, v, v;
byte v;
com.nimbusds.openid.connect.sdk.AuthenticationResponse v;
javax.ws.rs.core.UriBuilder v, v, v;
java.net.URI v, v, v, v, v;
boolean v, v, v, v, v;
com.nimbusds.oauth.sdk.ErrorObject v;
java.lang.Exception v, v, v;
java.lang.Object[] v, v, v;
org.apache.nifi.registry.web.security.authentication.oidc.OidcService v, v, v, v, v;
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
javax.servlet.http.HttpServletRequest v;
int v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.slf4j.Logger v, v, v, v;
com.nimbusds.oauth.sdk.AuthorizationCodeGrant v;
javax.servlet.http.HttpServletResponse v;
java.io.IOException v;
com.nimbusds.oauth.sdk.AuthorizationCode v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v := @parameter: javax.servlet.http.HttpServletRequest;
v := @parameter: javax.servlet.http.HttpServletResponse;
v = interfaceinvoke v.<javax.servlet.http.HttpServletRequest: boolean isSecure()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("User logout is only supported when running over HTTPS.");
throw v;
label:
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.oidc.OidcService oidcService>;
v = virtualinvoke v.<org.apache.nifi.registry.web.security.authentication.oidc.OidcService: boolean isOidcEnabled()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("OpenId Connect is not configured.");
throw v;
label:
v = specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: java.lang.String getOidcRequestIdentifier(javax.servlet.http.HttpServletRequest)>(v);
if v != null goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("The OIDC request identifier was not found in the request. Unable to continue.");
throw v;
label:
v = virtualinvoke v.<org.apache.nifi.registry.web.api.AccessResource: java.net.URI getRequestUri()>();
v = specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: com.nimbusds.openid.connect.sdk.AuthenticationResponse parseAuthenticationResponse(java.net.URI,javax.servlet.http.HttpServletResponse,boolean)>(v, v, 0);
v = interfaceinvoke v.<com.nimbusds.openid.connect.sdk.AuthenticationResponse: boolean indicatesSuccess()>();
if v == 0 goto label;
specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: void validateOIDCState(java.lang.String,com.nimbusds.openid.connect.sdk.AuthenticationSuccessResponse,javax.servlet.http.HttpServletResponse,boolean)>(v, v, v, 0);
label:
v = virtualinvoke v.<com.nimbusds.openid.connect.sdk.AuthenticationSuccessResponse: com.nimbusds.oauth.sdk.AuthorizationCode getAuthorizationCode()>();
v = new com.nimbusds.oauth.sdk.AuthorizationCodeGrant;
v = specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: java.lang.String getOidcLogoutCallback()>();
v = staticinvoke <java.net.URI: java.net.URI create(java.lang.String)>(v);
specialinvoke v.<com.nimbusds.oauth.sdk.AuthorizationCodeGrant: void <init>(com.nimbusds.oauth.sdk.AuthorizationCode,java.net.URI)>(v, v);
v = specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: java.lang.String determineLogoutMethod()>();
v = -1;
v = virtualinvoke v.<java.lang.String: int hashCode()>();
lookupswitch(v)
{
case -1170133298: goto label;
case 883140645: goto label;
default: goto label;
};
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("oidc_access_token_logout");
if v == 0 goto label;
v = 0;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("oidc_id_token_logout");
if v == 0 goto label;
v = 1;
label:
lookupswitch(v)
{
case 0: goto label;
case 1: goto label;
default: goto label;
};
label:
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.oidc.OidcService oidcService>;
v = virtualinvoke v.<org.apache.nifi.registry.web.security.authentication.oidc.OidcService: java.lang.String exchangeAuthorizationCodeForAccessToken(com.nimbusds.oauth.sdk.AuthorizationGrant)>(v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Unable to exchange authorization for the access token: \u0001");
v = <org.apache.nifi.registry.web.api.AccessResource: org.slf4j.Logger logger>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>(v, v);
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.oidc.OidcService oidcService>;
v = virtualinvoke v.<org.apache.nifi.registry.web.security.authentication.oidc.OidcService: java.net.URI getRevocationEndpoint()>();
label:
specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: void revokeEndpointRequest(javax.servlet.http.HttpServletResponse,java.lang.String,java.net.URI)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<java.io.IOException: java.lang.String getMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("There was an error logging out of the OpenID Connect Provider: \u0001");
v = <org.apache.nifi.registry.web.api.AccessResource: org.slf4j.Logger logger>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>(v, v);
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.oidc.OidcService oidcService>;
v = virtualinvoke v.<org.apache.nifi.registry.web.security.authentication.oidc.OidcService: java.lang.String exchangeAuthorizationCodeForIdToken(com.nimbusds.oauth.sdk.AuthorizationGrant)>(v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Unable to exchange authorization for the ID token: \u0001");
v = <org.apache.nifi.registry.web.api.AccessResource: org.slf4j.Logger logger>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>(v, v);
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.oidc.OidcService oidcService>;
v = virtualinvoke v.<org.apache.nifi.registry.web.security.authentication.oidc.OidcService: java.net.URI getEndSessionEndpoint()>();
v = virtualinvoke v.<org.apache.nifi.registry.web.api.AccessResource: java.lang.String getNiFiRegistryUri()>();
v = staticinvoke <javax.ws.rs.core.UriBuilder: javax.ws.rs.core.UriBuilder fromUri(java.net.URI)>(v);
v = newarray (java.lang.Object)[1];
v[0] = v;
v = virtualinvoke v.<javax.ws.rs.core.UriBuilder: javax.ws.rs.core.UriBuilder queryParam(java.lang.String,java.lang.Object[])>("id_token_hint", v);
v = newarray (java.lang.Object)[1];
v[0] = v;
v = virtualinvoke v.<javax.ws.rs.core.UriBuilder: javax.ws.rs.core.UriBuilder queryParam(java.lang.String,java.lang.Object[])>("post_logout_redirect_uri", v);
v = newarray (java.lang.Object)[0];
v = virtualinvoke v.<javax.ws.rs.core.UriBuilder: java.net.URI build(java.lang.Object[])>(v);
v = virtualinvoke v.<java.net.URI: java.lang.String toString()>();
interfaceinvoke v.<javax.servlet.http.HttpServletResponse: void sendRedirect(java.lang.String)>(v);
goto label;
label:
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Unable to complete logout: Logout method unrecognized");
throw v;
label:
v := @caughtexception;
v = <org.apache.nifi.registry.web.api.AccessResource: org.slf4j.Logger logger>;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>(v, v);
specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: void removeOidcRequestCookie(javax.servlet.http.HttpServletResponse)>(v);
throw v;
label:
specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: void removeOidcRequestCookie(javax.servlet.http.HttpServletResponse)>(v);
v = new java.lang.IllegalStateException;
v = virtualinvoke v.<com.nimbusds.openid.connect.sdk.AuthenticationErrorResponse: com.nimbusds.oauth.sdk.ErrorObject getErrorObject()>();
v = virtualinvoke v.<com.nimbusds.oauth.sdk.ErrorObject: java.lang.String getDescription()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Unsuccessful logout attempt: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
catch java.lang.Exception from label to label with label;
catch java.io.IOException from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
}
private java.lang.String getCookieValue(javax.servlet.http.Cookie[], java.lang.String)
{
javax.servlet.http.Cookie[] v;
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
int v, v;
java.lang.String v, v, v;
javax.servlet.http.Cookie v;
boolean v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v := @parameter: javax.servlet.http.Cookie[];
v := @parameter: java.lang.String;
if v == null goto label;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<javax.servlet.http.Cookie: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<javax.servlet.http.Cookie: java.lang.String getValue()>();
return v;
label:
v = v + 1;
goto label;
label:
return null;
}
public void setOidcService(org.apache.nifi.registry.web.security.authentication.oidc.OidcService)
{
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
org.apache.nifi.registry.web.security.authentication.oidc.OidcService v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v := @parameter: org.apache.nifi.registry.web.security.authentication.oidc.OidcService;
v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.oidc.OidcService oidcService> = v;
return;
}
private java.lang.String getOidcCallback()
{
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
java.lang.String[] v;
java.lang.String v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v = newarray (java.lang.String)[3];
v[0] = "access";
v[1] = "oidc";
v[2] = "callback";
v = virtualinvoke v.<org.apache.nifi.registry.web.api.AccessResource: java.lang.String generateResourceUri(java.lang.String[])>(v);
return v;
}
private java.lang.String getOidcLogoutCallback()
{
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
java.lang.String[] v;
java.lang.String v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v = newarray (java.lang.String)[4];
v[0] = "access";
v[1] = "oidc";
v[2] = "logout";
v[3] = "callback";
v = virtualinvoke v.<org.apache.nifi.registry.web.api.AccessResource: java.lang.String generateResourceUri(java.lang.String[])>(v);
return v;
}
private void removeOidcRequestCookie(javax.servlet.http.HttpServletResponse)
{
javax.servlet.http.HttpServletResponse v;
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
javax.servlet.http.Cookie v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v := @parameter: javax.servlet.http.HttpServletResponse;
v = new javax.servlet.http.Cookie;
specialinvoke v.<javax.servlet.http.Cookie: void <init>(java.lang.String,java.lang.String)>("oidc-request-identifier", null);
virtualinvoke v.<javax.servlet.http.Cookie: void setPath(java.lang.String)>("/");
virtualinvoke v.<javax.servlet.http.Cookie: void setHttpOnly(boolean)>(1);
virtualinvoke v.<javax.servlet.http.Cookie: void setMaxAge(int)>(0);
virtualinvoke v.<javax.servlet.http.Cookie: void setSecure(boolean)>(1);
interfaceinvoke v.<javax.servlet.http.HttpServletResponse: void addCookie(javax.servlet.http.Cookie)>(v);
return;
}
protected java.net.URI getRequestUri()
{
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
java.net.URI v;
javax.ws.rs.core.UriInfo v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v = v.<org.apache.nifi.registry.web.api.AccessResource: javax.ws.rs.core.UriInfo uriInfo>;
v = interfaceinvoke v.<javax.ws.rs.core.UriInfo: java.net.URI getRequestUri()>();
return v;
}
private void forwardToMessagePage(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String) throws java.lang.Exception
{
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
javax.servlet.http.HttpServletRequest v;
javax.servlet.RequestDispatcher v;
javax.servlet.http.HttpServletResponse v;
javax.servlet.ServletContext v, v;
java.lang.String v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v := @parameter: javax.servlet.http.HttpServletRequest;
v := @parameter: javax.servlet.http.HttpServletResponse;
v := @parameter: java.lang.String;
interfaceinvoke v.<javax.servlet.http.HttpServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("title", "Unable to continue login sequence");
interfaceinvoke v.<javax.servlet.http.HttpServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("messages", v);
v = interfaceinvoke v.<javax.servlet.http.HttpServletRequest: javax.servlet.ServletContext getServletContext()>();
v = interfaceinvoke v.<javax.servlet.ServletContext: javax.servlet.ServletContext getContext(java.lang.String)>("/nifi-registry");
v = interfaceinvoke v.<javax.servlet.ServletContext: javax.servlet.RequestDispatcher getRequestDispatcher(java.lang.String)>("/WEB-INF/pages/message-page.jsp");
interfaceinvoke v.<javax.servlet.RequestDispatcher: void forward(javax.servlet.ServletRequest,javax.servlet.ServletResponse)>(v, v);
return;
}
private java.lang.String createAccessToken(org.apache.nifi.registry.security.authentication.IdentityProvider, org.apache.nifi.registry.security.authentication.AuthenticationRequest) throws org.apache.nifi.registry.security.authentication.exception.InvalidCredentialsException, org.apache.nifi.registry.exception.AdministrationException
{
java.lang.Throwable v;
org.apache.nifi.registry.web.security.authentication.jwt.JwtService v;
org.apache.nifi.registry.security.authentication.IdentityProvider v;
org.apache.nifi.registry.security.authentication.AuthenticationRequest v;
org.apache.nifi.registry.exception.AdministrationException v;
org.apache.nifi.registry.security.authentication.AuthenticationResponse v;
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
java.lang.String v, v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v := @parameter: org.apache.nifi.registry.security.authentication.IdentityProvider;
v := @parameter: org.apache.nifi.registry.security.authentication.AuthenticationRequest;
label:
v = interfaceinvoke v.<org.apache.nifi.registry.security.authentication.IdentityProvider: org.apache.nifi.registry.security.authentication.AuthenticationResponse authenticate(org.apache.nifi.registry.security.authentication.AuthenticationRequest)>(v);
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.jwt.JwtService jwtService>;
v = virtualinvoke v.<org.apache.nifi.registry.web.security.authentication.jwt.JwtService: java.lang.String generateSignedToken(org.apache.nifi.registry.security.authentication.AuthenticationResponse)>(v);
label:
return v;
label:
v := @caughtexception;
v = new org.apache.nifi.registry.exception.AdministrationException;
v = virtualinvoke v.<java.lang.RuntimeException: java.lang.String getMessage()>();
specialinvoke v.<org.apache.nifi.registry.exception.AdministrationException: void <init>(java.lang.String)>(v);
throw v;
catch org.apache.nifi.registry.security.authentication.exception.IdentityAccessException from label to label with label;
catch io.jsonwebtoken.JwtException from label to label with label;
}
private java.util.List generateIdentityProviderWaterfall()
{
org.apache.nifi.registry.web.security.authentication.x.X509IdentityProvider v, v;
org.apache.nifi.registry.security.authentication.IdentityProvider v, v;
java.util.ArrayList v;
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
org.apache.nifi.registry.web.security.authentication.kerberos.KerberosSpnegoIdentityProvider v, v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.x.X509IdentityProvider x509IdentityProvider>;
if v == null goto label;
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.x.X509IdentityProvider x509IdentityProvider>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.kerberos.KerberosSpnegoIdentityProvider kerberosSpnegoIdentityProvider>;
if v == null goto label;
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.kerberos.KerberosSpnegoIdentityProvider kerberosSpnegoIdentityProvider>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.security.authentication.IdentityProvider identityProvider>;
if v == null goto label;
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.security.authentication.IdentityProvider identityProvider>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
return v;
}
private boolean isBasicLoginSupported(javax.servlet.http.HttpServletRequest)
{
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
javax.servlet.http.HttpServletRequest v;
org.apache.nifi.registry.security.authentication.IdentityProvider v;
boolean v, v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v := @parameter: javax.servlet.http.HttpServletRequest;
v = interfaceinvoke v.<javax.servlet.http.HttpServletRequest: boolean isSecure()>();
if v == 0 goto label;
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.security.authentication.IdentityProvider identityProvider>;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private boolean isOIDCLoginSupported(javax.servlet.http.HttpServletRequest)
{
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
javax.servlet.http.HttpServletRequest v;
org.apache.nifi.registry.web.security.authentication.oidc.OidcService v, v;
boolean v, v, v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v := @parameter: javax.servlet.http.HttpServletRequest;
v = interfaceinvoke v.<javax.servlet.http.HttpServletRequest: boolean isSecure()>();
if v == 0 goto label;
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.oidc.OidcService oidcService>;
if v == null goto label;
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.oidc.OidcService oidcService>;
v = virtualinvoke v.<org.apache.nifi.registry.web.security.authentication.oidc.OidcService: boolean isOidcEnabled()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private java.lang.String determineLogoutMethod()
{
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
java.net.URI v, v;
org.apache.nifi.registry.web.security.authentication.oidc.OidcService v, v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.oidc.OidcService oidcService>;
v = virtualinvoke v.<org.apache.nifi.registry.web.security.authentication.oidc.OidcService: java.net.URI getEndSessionEndpoint()>();
if v == null goto label;
return "oidc_id_token_logout";
label:
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.oidc.OidcService oidcService>;
v = virtualinvoke v.<org.apache.nifi.registry.web.security.authentication.oidc.OidcService: java.net.URI getRevocationEndpoint()>();
if v == null goto label;
return "oidc_access_token_logout";
label:
return "oidc_standard_logout";
}
private java.net.URI oidcRequestAuthorizationCode(javax.servlet.http.HttpServletResponse, java.lang.String)
{
java.lang.Object[] v, v, v, v, v, v;
org.apache.nifi.registry.web.security.authentication.oidc.OidcService v, v, v, v;
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
javax.ws.rs.core.UriBuilder v, v, v, v, v, v;
java.lang.String v, v, v, v, v;
java.net.URI v, v;
javax.servlet.http.Cookie v;
com.nimbusds.oauth.sdk.Scope v;
javax.servlet.http.HttpServletResponse v;
com.nimbusds.oauth.sdk.id.State v;
java.util.UUID v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v := @parameter: javax.servlet.http.HttpServletResponse;
v := @parameter: java.lang.String;
v = staticinvoke <java.util.UUID: java.util.UUID randomUUID()>();
v = virtualinvoke v.<java.util.UUID: java.lang.String toString()>();
v = new javax.servlet.http.Cookie;
specialinvoke v.<javax.servlet.http.Cookie: void <init>(java.lang.String,java.lang.String)>("oidc-request-identifier", v);
virtualinvoke v.<javax.servlet.http.Cookie: void setPath(java.lang.String)>("/");
virtualinvoke v.<javax.servlet.http.Cookie: void setHttpOnly(boolean)>(1);
virtualinvoke v.<javax.servlet.http.Cookie: void setMaxAge(int)>(60);
virtualinvoke v.<javax.servlet.http.Cookie: void setSecure(boolean)>(1);
interfaceinvoke v.<javax.servlet.http.HttpServletResponse: void addCookie(javax.servlet.http.Cookie)>(v);
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.oidc.OidcService oidcService>;
v = virtualinvoke v.<org.apache.nifi.registry.web.security.authentication.oidc.OidcService: com.nimbusds.oauth.sdk.id.State createState(java.lang.String)>(v);
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.oidc.OidcService oidcService>;
v = virtualinvoke v.<org.apache.nifi.registry.web.security.authentication.oidc.OidcService: java.net.URI getAuthorizationEndpoint()>();
v = staticinvoke <javax.ws.rs.core.UriBuilder: javax.ws.rs.core.UriBuilder fromUri(java.net.URI)>(v);
v = newarray (java.lang.Object)[1];
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.oidc.OidcService oidcService>;
v = virtualinvoke v.<org.apache.nifi.registry.web.security.authentication.oidc.OidcService: java.lang.String getClientId()>();
v[0] = v;
v = virtualinvoke v.<javax.ws.rs.core.UriBuilder: javax.ws.rs.core.UriBuilder queryParam(java.lang.String,java.lang.Object[])>("client_id", v);
v = newarray (java.lang.Object)[1];
v[0] = "code";
v = virtualinvoke v.<javax.ws.rs.core.UriBuilder: javax.ws.rs.core.UriBuilder queryParam(java.lang.String,java.lang.Object[])>("response_type", v);
v = newarray (java.lang.Object)[1];
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.oidc.OidcService oidcService>;
v = virtualinvoke v.<org.apache.nifi.registry.web.security.authentication.oidc.OidcService: com.nimbusds.oauth.sdk.Scope getScope()>();
v = virtualinvoke v.<com.nimbusds.oauth.sdk.Scope: java.lang.String toString()>();
v[0] = v;
v = virtualinvoke v.<javax.ws.rs.core.UriBuilder: javax.ws.rs.core.UriBuilder queryParam(java.lang.String,java.lang.Object[])>("scope", v);
v = newarray (java.lang.Object)[1];
v = virtualinvoke v.<com.nimbusds.oauth.sdk.id.State: java.lang.String getValue()>();
v[0] = v;
v = virtualinvoke v.<javax.ws.rs.core.UriBuilder: javax.ws.rs.core.UriBuilder queryParam(java.lang.String,java.lang.Object[])>("state", v);
v = newarray (java.lang.Object)[1];
v[0] = v;
v = virtualinvoke v.<javax.ws.rs.core.UriBuilder: javax.ws.rs.core.UriBuilder queryParam(java.lang.String,java.lang.Object[])>("redirect_uri", v);
v = newarray (java.lang.Object)[0];
v = virtualinvoke v.<javax.ws.rs.core.UriBuilder: java.net.URI build(java.lang.Object[])>(v);
return v;
}
private java.lang.String getOidcRequestIdentifier(javax.servlet.http.HttpServletRequest)
{
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
javax.servlet.http.HttpServletRequest v;
javax.servlet.http.Cookie[] v;
java.lang.String v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v := @parameter: javax.servlet.http.HttpServletRequest;
v = interfaceinvoke v.<javax.servlet.http.HttpServletRequest: javax.servlet.http.Cookie[] getCookies()>();
v = specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: java.lang.String getCookieValue(javax.servlet.http.Cookie[],java.lang.String)>(v, "oidc-request-identifier");
return v;
}
private com.nimbusds.openid.connect.sdk.AuthenticationResponse parseAuthenticationResponse(java.net.URI, javax.servlet.http.HttpServletResponse, boolean)
{
java.lang.Throwable v;
java.lang.IllegalStateException v;
java.lang.Object[] v, v;
org.slf4j.Logger v;
javax.servlet.http.HttpServletResponse v;
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
com.nimbusds.openid.connect.sdk.AuthenticationResponse v;
java.lang.String v, v, v;
java.net.URI v;
boolean v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v := @parameter: java.net.URI;
v := @parameter: javax.servlet.http.HttpServletResponse;
v := @parameter: boolean;
label:
v = staticinvoke <com.nimbusds.openid.connect.sdk.AuthenticationResponseParser: com.nimbusds.openid.connect.sdk.AuthenticationResponse parse(java.net.URI)>(v);
label:
goto label;
label:
v := @caughtexception;
if v == 0 goto label;
v = "login";
goto label;
label:
v = "logout";
label:
v = <org.apache.nifi.registry.web.api.AccessResource: org.slf4j.Logger logger>;
v = newarray (java.lang.Object)[1];
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Unable to parse the redirect URI from the OpenId Connect Provider. Unable to continue %s process.", v);
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>(v);
specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: void removeOidcRequestCookie(javax.servlet.http.HttpServletResponse)>(v);
v = new java.lang.IllegalStateException;
v = newarray (java.lang.Object)[1];
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Unable to parse the redirect URI from the OpenId Connect Provider. Unable to continue %s process.", v);
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
catch com.nimbusds.oauth.sdk.ParseException from label to label with label;
}
private void validateOIDCState(java.lang.String, com.nimbusds.openid.connect.sdk.AuthenticationSuccessResponse, javax.servlet.http.HttpServletResponse, boolean)
{
java.lang.IllegalStateException v;
java.lang.Object[] v, v;
org.slf4j.Logger v;
javax.servlet.http.HttpServletResponse v;
com.nimbusds.oauth.sdk.id.State v;
org.apache.nifi.registry.web.security.authentication.oidc.OidcService v;
com.nimbusds.openid.connect.sdk.AuthenticationSuccessResponse v;
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
java.lang.String v, v, v, v;
boolean v, v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v := @parameter: java.lang.String;
v := @parameter: com.nimbusds.openid.connect.sdk.AuthenticationSuccessResponse;
v := @parameter: javax.servlet.http.HttpServletResponse;
v := @parameter: boolean;
v = virtualinvoke v.<com.nimbusds.openid.connect.sdk.AuthenticationSuccessResponse: com.nimbusds.oauth.sdk.id.State getState()>();
if v == null goto label;
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.web.security.authentication.oidc.OidcService oidcService>;
v = virtualinvoke v.<org.apache.nifi.registry.web.security.authentication.oidc.OidcService: boolean isStateValid(java.lang.String,com.nimbusds.oauth.sdk.id.State)>(v, v);
if v != 0 goto label;
label:
if v == 0 goto label;
v = "login";
goto label;
label:
v = "logout";
label:
v = <org.apache.nifi.registry.web.api.AccessResource: org.slf4j.Logger logger>;
v = newarray (java.lang.Object)[1];
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("The state value returned by the OpenId Connect Provider does not match the stored state. Unable to continue %s process.", v);
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>(v);
specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: void removeOidcRequestCookie(javax.servlet.http.HttpServletResponse)>(v);
v = new java.lang.IllegalStateException;
v = newarray (java.lang.Object)[1];
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Proposed state does not match the stored state. Unable to continue %s process.", v);
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
private void revokeEndpointRequest(javax.servlet.http.HttpServletResponse, java.lang.String, java.net.URI) throws java.io.IOException, java.security.NoSuchAlgorithmException
{
java.lang.Throwable v, v;
org.apache.http.message.BasicNameValuePair v;
org.apache.http.client.methods.HttpPost v;
org.apache.http.client.entity.UrlEncodedFormEntity v;
org.apache.http.StatusLine v, v;
java.util.ArrayList v;
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
org.apache.http.client.methods.CloseableHttpResponse v;
int v, v;
java.lang.String v, v, v;
java.net.URI v;
org.apache.http.impl.client.CloseableHttpClient v;
org.slf4j.Logger v, v;
javax.servlet.http.HttpServletResponse v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v := @parameter: javax.servlet.http.HttpServletResponse;
v := @parameter: java.lang.String;
v := @parameter: java.net.URI;
v = specialinvoke v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.http.impl.client.CloseableHttpClient getHttpClient()>();
v = new org.apache.http.client.methods.HttpPost;
specialinvoke v.<org.apache.http.client.methods.HttpPost: void <init>(java.net.URI)>(v);
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = new org.apache.http.message.BasicNameValuePair;
specialinvoke v.<org.apache.http.message.BasicNameValuePair: void <init>(java.lang.String,java.lang.String)>("token", v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = new org.apache.http.client.entity.UrlEncodedFormEntity;
specialinvoke v.<org.apache.http.client.entity.UrlEncodedFormEntity: void <init>(java.util.List)>(v);
virtualinvoke v.<org.apache.http.client.methods.HttpPost: void setEntity(org.apache.http.HttpEntity)>(v);
label:
v = virtualinvoke v.<org.apache.http.impl.client.CloseableHttpClient: org.apache.http.client.methods.CloseableHttpResponse execute(org.apache.http.client.methods.HttpUriRequest)>(v);
label:
v = interfaceinvoke v.<org.apache.http.client.methods.CloseableHttpResponse: org.apache.http.StatusLine getStatusLine()>();
v = interfaceinvoke v.<org.apache.http.StatusLine: int getStatusCode()>();
if v != 200 goto label;
v = <org.apache.nifi.registry.web.api.AccessResource: org.slf4j.Logger logger>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("You are logged out of the OpenId Connect Provider.");
v = virtualinvoke v.<org.apache.nifi.registry.web.api.AccessResource: java.lang.String getNiFiRegistryUri()>();
interfaceinvoke v.<javax.servlet.http.HttpServletResponse: void sendRedirect(java.lang.String)>(v);
goto label;
label:
v = <org.apache.nifi.registry.web.api.AccessResource: org.slf4j.Logger logger>;
v = interfaceinvoke v.<org.apache.http.client.methods.CloseableHttpResponse: org.apache.http.StatusLine getStatusLine()>();
v = interfaceinvoke v.<org.apache.http.StatusLine: int getStatusCode()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("There was an error logging out of the OpenId Connect Provider. Response status: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>(v);
label:
interfaceinvoke v.<org.apache.http.client.methods.CloseableHttpResponse: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
virtualinvoke v.<org.apache.http.impl.client.CloseableHttpClient: void close()>();
goto label;
label:
v := @caughtexception;
virtualinvoke v.<org.apache.http.impl.client.CloseableHttpClient: void close()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private org.apache.http.impl.client.CloseableHttpClient getHttpClient() throws java.security.NoSuchAlgorithmException
{
javax.net.ssl.SSLContext v;
org.apache.http.client.config.RequestConfig v;
WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource v;
org.apache.nifi.registry.properties.NiFiRegistryProperties v, v;
java.lang.String v, v;
double v, v;
org.apache.http.impl.client.CloseableHttpClient v;
java.util.concurrent.TimeUnit v, v;
org.apache.http.client.config.RequestConfig$Builder v, v, v, v;
org.apache.http.impl.client.HttpClientBuilder v, v, v;
v := @this: WEB-INF.classes.org.apache.nifi.registry.web.api.AccessResource;
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.properties.NiFiRegistryProperties properties>;
v = virtualinvoke v.<org.apache.nifi.registry.properties.NiFiRegistryProperties: java.lang.String getOidcConnectTimeout()>();
v = v.<org.apache.nifi.registry.web.api.AccessResource: org.apache.nifi.registry.properties.NiFiRegistryProperties properties>;
v = virtualinvoke v.<org.apache.nifi.registry.properties.NiFiRegistryProperties: java.lang.String getOidcReadTimeout()>();
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = staticinvoke <org.apache.nifi.registry.util.FormatUtils: double getPreciseTimeDuration(java.lang.String,java.util.concurrent.TimeUnit)>(v, v);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = staticinvoke <org.apache.nifi.registry.util.FormatUtils: double getPreciseTimeDuration(java.lang.String,java.util.concurrent.TimeUnit)>(v, v);
v = staticinvoke <org.apache.http.client.config.RequestConfig: org.apache.http.client.config.RequestConfig$Builder custom()>();
v = virtualinvoke v.<org.apache.http.client.config.RequestConfig$Builder: org.apache.http.client.config.RequestConfig$Builder setConnectTimeout(int)>(v);
v = virtualinvoke v.<org.apache.http.client.config.RequestConfig$Builder: org.apache.http.client.config.RequestConfig$Builder setConnectionRequestTimeout(int)>(v);
v = virtualinvoke v.<org.apache.http.client.config.RequestConfig$Builder: org.apache.http.client.config.RequestConfig$Builder setSocketTimeout(int)>(v);
v = virtualinvoke v.<org.apache.http.client.config.RequestConfig$Builder: org.apache.http.client.config.RequestConfig build()>();
v = staticinvoke <org.apache.http.impl.client.HttpClientBuilder: org.apache.http.impl.client.HttpClientBuilder create()>();
v = virtualinvoke v.<org.apache.http.impl.client.HttpClientBuilder: org.apache.http.impl.client.HttpClientBuilder setDefaultRequestConfig(org.apache.http.client.config.RequestConfig)>(v);
v = staticinvoke <javax.net.ssl.SSLContext: javax.net.ssl.SSLContext getDefault()>();
v = virtualinvoke v.<org.apache.http.impl.client.HttpClientBuilder: org.apache.http.impl.client.HttpClientBuilder setSSLContext(javax.net.ssl.SSLContext)>(v);
v = virtualinvoke v.<org.apache.http.impl.client.HttpClientBuilder: org.apache.http.impl.client.CloseableHttpClient build()>();
return v;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/nifi/registry/web/api/AccessResource;");
<org.apache.nifi.registry.web.api.AccessResource: org.slf4j.Logger logger> = v;
return;
}
}