box / box/box-java-sdk

Need to support non basic-auth proxies

オープン
#658 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る
enhancement
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。