Need to support non basic-auth proxies
- 主要言語
- Java
- スター
- 170
- フォーク
- 189
- 平均マージ
- 20時間 26分
- マージ済み PR(30日)
- 22
説明
- [x] I have checked that the [SDK documentation][sdk-docs] and [API documentation][api-docs] doesn't solve my issue
### 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
- Proxy that uses Kerberos and SPNEGO
- Set this to be the proxy used by Box
- Connect to https://api.box.com/2.0/search?query=sales via GET
### 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).
[sdk-docs]: ./doc
[api-docs]: https://developer.box.com/docs
コントリビューションガイド
調査の方向性
実装ファイルもテストも指定されていないため、まず Java SDK がプロキシと HTTP クライアントをどのように構成しているかを追跡し、issue で言及されている Apache HTTPClient の auth schema registry と credentials provider を参照してください。Kerberos/SPNEGO プロキシと GET https://api.box.com/2.0/search?query=sales を使って再現します。Box の認証情報がない場合に、SDK が構成可能なプロキシ認証を受け入れて Box に到達し、407 ではなく 401 を返せば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- networking
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 25/100