Our Community is getting an upgrade! To get everything ready for the relaunch, we’ll be placing the site in read-only mode starting September 21st.
We really appreciate your understanding while we get things set up behind the scenes. Catch up on all the exciting details about the move here.
Need help or have questions? Drop us a line at [email protected]
Created 11-23-2016 04:14 PM
I'm trying to consume API protected with NTLM authentication [Windows server]. I configured GetHttp process with Url of the server and username + password.
Username in a format of domain/username. I doubled checked the credentials and they are fine.
The GetHttp doesn't work and I am getting 401 [unauthorized] error from the API server.
Here's NiFi log output:
2016-11-23 17:45:22,272 WARN [Timer-Driven Process Thread-7] o.a.http.impl.auth.HttpAuthenticator NEGOTIATE authentication error: No valid credentials provided (Mechanism level: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)) 2016-11-23 17:45:22,272 WARN [Timer-Driven Process Thread-7] o.a.http.impl.auth.HttpAuthenticator NTLM authentication error: Credentials cannot be used for NTLM authentication: org.apache.http.auth.UsernamePasswordCredentials 2016-11-23 17:45:22,274 ERROR [Timer-Driven Process Thread-7] o.a.nifi.processors.standard.GetHTTP GetHTTP[id=91ce7dfd-0158-1000-1c53-cf24cf132983] received status code 401:Unauthorized from http://internal.api.ep/dosomething
I will appreciate any recommendation how to work this out.
Thank you!
Created 11-23-2016 05:18 PM
Looks like gethttp does not support nt authentication from looking at the code. if you open a jira we can get it added and have a patch available.
Created 11-23-2016 04:17 PM
try adding this to the wifi bootstrap.. http.auth.ntlm.domain = your domain ..
or you can add username@domain as the user.
Created 11-23-2016 04:28 PM
Thank you! I've just tried both ways and it doesn't work. Anything else I can do?
Created 11-23-2016 04:30 PM
did you add like so to nifi bootstrap
jvm.args.x(+1 the last arg)=-Dhttp.auth.ntlm.domain=hortonworks.com (replace with your domain)/
Created 11-23-2016 04:41 PM
yes, I added the line in bootstrap.conf configuration as you recommended:
http.auth.ntlm.domain=mydomain
still doesn't work
Created 11-23-2016 04:34 PM
alternatively you can try entering username like so "hortonworks.com\karthik"
Created 11-23-2016 04:40 PM
Thank you! this is is exactly what I did... I tried it with domain\username, username@domain. Also changed bootstrap.conf configuration as you recommended:
http.auth.ntlm.domain=mydomain
still doesn't work...
Created 11-23-2016 05:18 PM
Looks like gethttp does not support nt authentication from looking at the code. if you open a jira we can get it added and have a patch available.
Created 11-23-2016 08:13 PM
done! thank you very much!
Created 12-01-2016 04:23 AM
I have done the needed code changes. Unfortunately i do not have a way to test this. If i sent you the NAR with the code change, would you be able to test it. Basically, just swap out the nifi-standar-nar-x.x.x from the lib, with the one i send you. Please test it on a local, non-prod instance.