box / box-java-sdk

The Box SDK for Java.
http://opensource.box.com/box-java-sdk/
Apache License 2.0
156 stars 185 forks source link

Need to support non basic-auth proxies #658

Open ajmas opened 5 years ago

ajmas commented 5 years ago

Description of the Issue

The current version of the Box API assumes that the proxy is either unauthenticated or using basic username/password authentication. This breaks in any environment that uses different types of authentication, such as NTLM or Kerberos.

In our case when we try to use our proxy we get a 407 HTTP response.

Ideally the Box API should allow us to substitute in our own proxy configuration. Maybe something based on the Apache HTTPClient which allows using an auth schema registry, along with a credentials provider - this works for us in a standalone test, when not using the Box Java API.

Versions Used

Java SDK: 1.80_181 on RedHat Linux.
Java: 1.80_181 on RedHat Linux.

Steps to Reproduce

Error Message, Including Stack Trace

Status 407 returned by proxy. If everything worked we should get a 401 (since we aren't providing Box auth for this test case).

carycheng commented 5 years ago

Hey @ajmas,

We will add NTLM Proxy support to our backlog. However, this is not a trivial change and we will need to prioritize this on our roadmap.

Thank you!

ajmas commented 5 years ago

@carycheng understood.

carycheng commented 5 years ago

Hey @ajmas,

Yes, I believe using Apache HTTPClient to handle the connectivity could potentially solve this issue and that is idea we are considering down the road, however the effort to swap out our HTTP connection with Apache HTTP Client will be a larger task so we are putting this in our planning backlog to discuss when to tackle this.

We will let you know if/when we figure out a more concrete roadmap for this Proxy issue, thank you!