Enterprise authentication not supported by ACP server
- 主要言語
- Shell
- スター
- 11.2k
- フォーク
- 1.9k
- 平均マージ
- 14時間 16分
- マージ済み PR(30日)
- 6
説明
### Describe the bug
Enterprise users cannot authenticate ACP clients with the copilot ACP server. To authenticate as a GHE user using the copilot CLI natively, users must either:
1. Run `copilot login --host https://example.ghe.com`; or
2. Launch `copilot` then run the `/login` command and specify the domain.
However, the copilot ACP server does not reveal either of these possibilities in the `terminal-auth` value of the ACP initialization response:
```json
{"jsonrpc":"2.0","id":0,"result":{"protocolVersion":1,"agentCapabilities":{"loadSession":true,"mcpCapabilities":{"http":true,"sse":true},"promptCapabilities":{"image":true,"audio":false,"embeddedContext":true},"sessionCapabilities":{"list":{}}},"agentInfo":{"name":"Copilot","title":"Copilot","version":"1.0.42"},"authMethods":[{"id":"copilot-login","name":"Log in with Copilot CLI","description":"Run `copilot login` in the terminal","_meta":{"terminal-auth":{"command":"/Users//.local/bin/copilot","args":["login"],"label":"Copilot Login"}}}]}}
```
Please add support for enterprise users trying to authenticate their ACP clients.
### Affected version
GitHub Copilot CLI 1.0.42.
### Steps to reproduce the behavior
1. Open a code editor that supports ACP clients/servers (e.g., Zed or IntelliJ), then add GitHub Copilot from the agent server registry.
2. Open a new agent session with Copilot. The UI should expose a button to log in. Click that button.
3. Observe a new terminal open running `copilot login` and the usual github.com login flow.
### Expected behavior
Enterprise users should be able to log in with ACP clients. I can see two potential solutions:
1. Respect the `GH_HOST` or `COPILOT_GH_HOST` env vars, if set, during the `terminal-auth` flow.
2. Implement the env var [auth method type](https://agentclientprotocol.com/rfds/auth-methods#auth-method-types), so as to make explicit the use of `GH_TOKEN` and `COPILOT_GH_TOKEN` for this purpose.
### Additional context
_No response_
コントリビューションガイド
調査の方向性
まず ACP の初期化レスポンスとその terminal-auth フローを追跡し、次に copilot login が現在 GH_HOST と COPILOT_GH_HOST をどのように処理しているかを確認します。提案されている 2 つのアプローチを、ACP auth-method-types のガイダンスと比較します。文書化されたホストまたはトークンの環境変数を使用して、Enterprise ユーザーが ACP クライアント経由で認証できれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- shell
- 領域
- api, authentication, cli
- issue の種類
- 機能追加
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 50/100