[ https://issues.apache.org/jira/browse/NIFI-7870?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17205871#comment-17205871 ]
Nathan Gough edited comment on NIFI-7870 at 10/21/20, 5:35 PM: --------------------------------------------------------------- Sounds like this may be more complicated than first anticipated. Upon investigation, it appears that the advanced UI static assets are not accessible due to another change in -NIFI-7170- which was intended to disable anonymous access to API endpoints. This was not intended to block access to static assets.-- When using LDAP, OIDC and perhaps other authentication mechanisms other than X509, a 'HTTP 401 Unauthorized' is returned for advanced UI static assets, which results in the Content-Type being returned as 'text/plain' (an error message) instead of the expected 'application/javascript' Content-Type. The server will show: {code:java} 2020-10-01 19:30:38,159 INFO [NiFi Web Server-19] o.a.n.w.s.NiFiAuthenticationFilter Attempting request for (<anonymous>) GET https://localhost:8443/nifi-jolt-transform-json-ui-1.12.1/app/transformjson/transformjson.service.js (source ip: 172.17.0.1) 2020-10-01 19:30:38,159 WARN [NiFi Web Server-19] o.a.n.w.s.NiFiAuthenticationFilter Rejecting access to web api: Anonymous authentication has not been configured.{code} This is because the NiFi UI does not include the JWT for requests to static assets, but authentication is being checked as anonymous authentication is now disabled by default. So, a 401 is returned. The current workaround is to enable anonymous authentication which will allow access to static assets for advanced UI's (javascript etc): nifi.security.allow.anonymous.authentication=true. A fix for this will likely involve a combination of explicitly allowing access to advanced UI static assets for UI's bundled with NiFi, and for external custom UI's, anonymous authentication will need to be enabled. We expect that this will be a temporary change, with the long term goal of refactoring/redesigning some of these security features in a future release/a NiFi 2.0 release. Also related is NIFI-7849 was (Author: thenatog): Sounds like this may be more complicated than first anticipated. Upon investigation, it appears that the advanced UI static assets are not accessible due to another change in -NIFI-7170- which was intended to disable anonymous access to API endpoints. This was not intended to block access to static assets.-- When using LDAP, OIDC and perhaps other authentication mechanisms other than X509, a 'HTTP 401 Unauthorized' is returned for advanced UI static assets, which results in the Content-Type being returned as 'text/plain' (an error message) instead of the expected 'application/javascript' Content-Type. The server will show: {code:java} 2020-10-01 19:30:38,159 INFO [NiFi Web Server-19] o.a.n.w.s.NiFiAuthenticationFilter Attempting request for (<anonymous>) GET https://localhost:8443/nifi-jolt-transform-json-ui-1.12.1/app/transformjson/transformjson.service.js (source ip: 172.17.0.1) 2020-10-01 19:30:38,159 WARN [NiFi Web Server-19] o.a.n.w.s.NiFiAuthenticationFilter Rejecting access to web api: Anonymous authentication has not been configured.{code} This is because the NiFi UI does not include the JWT for requests to static assets, but authentication is being checked as anonymous authentication is now disabled by default. So, a 401 is returned. The current workaround is to enable anonymous authentication which will allow access to static assets for advanced UI's (javascript etc): nifi.security.allow.anonymous.authentication=true. A fix for this will likely involve a combination of explicitly allowing access to advanced UI static assets for UI's bundled with NiFi, and for external custom UI's, anonymous authentication will need to be enabled. We expect that this will be a temporary change, with the long term goal of refactoring/redesigning some of these security features in a future release/a NiFi 2.0 release. Also related is NIFI-7489 > Fix anonymous access control for advanced UI resources > ------------------------------------------------------ > > Key: NIFI-7870 > URL: https://issues.apache.org/jira/browse/NIFI-7870 > Project: Apache NiFi > Issue Type: Bug > Components: Core UI > Affects Versions: 1.12.0, 1.12.1 > Reporter: Nathan Gough > Assignee: Nathan Gough > Priority: Critical > Labels: UI, content-type, header, security > > -The X-Content-Type header was added in NiFi 1.12.0, which blocks resources > in the browser if they do not have the content type added. It appears that > some 'advanced UI' resources do not have the content type applied to their > resources and are blocked from loading.- > On further inspection, it appears that explicitly disallowing anonymous > access has resulted in some static resources in the NiFi advanced UI's WAR > checking whether the anonymous user should be able to access them. The > anonymous access was intended to be used on the NiFi API endpoints, and not > static resources. -- This message was sent by Atlassian Jira (v8.3.4#803005)