github / CopilotForXcode

Xcode extension for GitHub Copilot
MIT License
1.94k stars 37 forks source link

GitHub Copilot for Xcode: Can not login with enterprise license #22

Closed aj-pilot closed 2 weeks ago

aj-pilot commented 3 weeks ago

GitHub Copilot for Xcode is not working in my enterprise setup. Every time I try to log in, I get this frustrating certificate error:

"Language server error: Server error: 1001 Could not log in with device flow on github.com: self-signed certificate in certificate chain nil"

I've attached a screenshot showing exactly what I'm seeing. I'm using:

GitHub Copilot for Xcode 0.27.92 Screenshot 2024-11-04 at 20 00 00

devm33 commented 3 weeks ago

Hi @aj-pilot, thanks for trying out Copilot for Xcode and sorry you're running into issues.

Could you share the proxy setup that you're using and what you have configured in the Advanced > Proxy settings for Copilot for Xcode?

See also:

aj-pilot commented 3 weeks ago

Hi @devm33 Thanks, for the quick reply. I am not using any proxy setup

devm33 commented 3 weeks ago

Hi @aj-pilot, perhaps it's an enterprise VPN, firewall, or transparent/reverse proxy. Something is performing TLS inspection on the traffic from the extension. If that's not expected it may be a serious security issue ⚠

Ideally, you can either add the self-signed certificate to your system trust store or allow GitHub Copilot domains to bypass TLS inspection. See required domains here: Configuring your proxy server or firewall for Copilot

If neither of those are possible you can also disable certificate checking in the extension, though this is not recommended as it is less secure.

Image

aj-pilot commented 3 weeks ago

I already disabled that one and I can use same CoPilot on the Visual Code studio @devm33 I just come to know today that github release support for the Xcode too. so I install it and got that error

devm33 commented 3 weeks ago

@aj-pilot would you mind enabling verbose logs, restarting the extension (quit the settings app and quit from status bar icon), and then sharing the logs (~/Library/Logs/GitHubCopilot/github-copilot-for-xcode.log) after running it?

aj-pilot commented 3 weeks ago

@devm33 Please find the attached logs and it is still exist in the latest pre-release too github-copilot-for-xcode.log

devm33 commented 3 weeks ago

@aj-pilot Could you enable verbose logging (under Copilot for Xcode settings > Advanced > Logging)

Also just to confirm do you have "Proxy strict SSL" turned on or off?

aj-pilot commented 3 weeks ago

Screenshot 2024-11-05 at 09 27 57 Screenshot 2024-11-05 at 09 28 24

aj-pilot commented 3 weeks ago

github-copilot-for-xcode.log

devm33 commented 3 weeks ago

Thanks @aj-pilot, since you mentioned VS Code is working for you would you mind sharing the output of cmd+shift+p > GitHub Copilot: Collect Diagnostics and Developer: GitHub Copilot Chat Diagnostics

aj-pilot commented 3 weeks ago

@devm33 please find the attached output from the command Copilot.txt Developer.txt

pay-sean-me commented 3 weeks ago

The same problem is occurring. I also have no problem with vscode, and I solved the problem there using MAC CA VSCode Extension

aj-pilot commented 3 weeks ago

@pay-sean-me so you just install that extension on VS Code?

pay-sean-me commented 3 weeks ago

@aj-pilot I think i wrote something incorrectly. i managed to fix in VSCode by installing an extension, but I'm still having the same issue in Xcode. sorry my bad english :)

hoangtuanfithou commented 3 weeks ago

I just want to chime in, I got the same issue as reported in this ticket. Thank for reporting and I will following up here! By the way, I can set up and use Copilot for Xcode without any login issues.

devm33 commented 2 weeks ago

Hi all, I believe I found the issue here. If anyone would like to try this build: https://github.com/github/CopilotForXcode/releases/download/0.28.0/GitHubCopilotForXcode_proxyStrictSSL.dmg let me know if that fixes it for you 🤞

pay-sean-me commented 2 weeks ago

@devm33 Hi. my issue hasn't been resolved. :(

Language server error: Server error: 1001 Could not log in with device flow on github.com: self-signed certificate in certificate chain nil

devm33 commented 2 weeks ago

@pay-sean-me could you install this build: https://github.com/github/CopilotForXcode/releases/download/0.28.0/GitHubCopilotForXcode_debugDiagnostics.dmg and then share the logs in ~/Library/Logs/GitHubCopilot/github-copilot-for-xcode.log

pay-sean-me commented 2 weeks ago

@devm33

[2024-11-10T23:23:43.690Z] [info] [GitHubCopilot] [68576] Starting language server in file:///Users/sean.me/Library/Application%20Support/com.github.CopilotForXcode/GitHub%20Copilot/support/, ["HOME": "/Users/sean.me", "GH_COPILOT_VERBOSE": "true"] [2024-11-10T23:23:43.691Z] [info] [GitHubCopilot] [68576] Running on Xcode string("16.0"), extension version string("0.28.1011") [2024-11-10T23:23:43.713Z] [info] [Client] [68576] Registering bridge launch agent [2024-11-10T23:23:43.818Z] [info] [CommunicationBridge] [68582] Accepted new connection. [2024-11-10T23:23:43.824Z] [info] [CommunicationBridge] [68582] Launching extension service app. [2024-11-10T23:23:43.879Z] [info] [CommunicationBridge] [68582] Communication bridge started [2024-11-10T23:23:44.024Z] [info] [CommunicationBridge] [68582] Finished launching extension service app. [2024-11-10T23:23:44.123Z] [info] [Service] [68588] Syncing Xcode theme: Classic (Dark).xccolortheme [2024-11-10T23:23:44.126Z] [info] [Service] [68588] Syncing Xcode theme: Default (Dark).xccolortheme [2024-11-10T23:23:44.142Z] [info] [Service] [68588] XPC Service started. [2024-11-10T23:23:44.142Z] [info] [CommunicationBridge] [68582] Accepted new connection. [2024-11-10T23:23:44.227Z] [info] [GitHubCopilot] [68576] window/logMessage: { "message" : "[lsp] GitHub Copilot Language Server 1.243.0 initialized", "type" : 3 } [2024-11-10T23:23:44.229Z] [info] [GitHubCopilot] [68576] window/logMessage: { "type" : 4, "message" : "[auth] Resetting copilot token" } [2024-11-10T23:23:44.229Z] [info] [GitHubCopilot] [68576] check status response: Response(status: Not Signed In, user: nil) [2024-11-10T23:23:44.236Z] [info] [GitHubCopilot] [68576] window/logMessage: { "message" : "[auth] Resetting copilot token", "type" : 4 } [2024-11-10T23:23:44.236Z] [info] [GitHubCopilot] [68576] check status response: Response(status: Not Signed In, user: nil) [2024-11-10T23:23:44.345Z] [info] [GitHubCopilot] [68588] Starting language server in file:///Users/sean.me/Library/Application%20Support/com.github.CopilotForXcode/GitHub%20Copilot/support/, ["GH_COPILOT_VERBOSE": "true", "HOME": "/Users/sean.me"] [2024-11-10T23:23:44.345Z] [info] [GitHubCopilot] [68588] Running on Xcode string("16.0"), extension version string("0.28.1011") [2024-11-10T23:23:44.485Z] [info] [GitHubCopilot] [68576] window/logMessage: { "message" : "[certificates] Read 86 certificates from Mac keychain", "type" : 4 } [2024-11-10T23:23:44.485Z] [info] [GitHubCopilot] [68576] window/logMessage: { "message" : "[certificates] Removed 19 expired certificates", "type" : 3 } [2024-11-10T23:23:44.850Z] [info] [GitHubCopilot] [68588] window/logMessage: { "message" : "[lsp] GitHub Copilot Language Server 1.243.0 initialized", "type" : 3 } [2024-11-10T23:23:44.853Z] [info] [GitHubCopilot] [68588] window/logMessage: { "type" : 4, "message" : "[auth] Resetting copilot token" } [2024-11-10T23:23:44.853Z] [info] [GitHubCopilot] [68588] check status response: Response(status: Not Signed In, user: nil) [2024-11-10T23:23:44.861Z] [info] [GitHubCopilot] [68588] check status response: Response(status: Not Signed In, user: nil) [2024-11-10T23:23:44.861Z] [info] [GitHubCopilot] [68588] window/logMessage: { "message" : "[auth] Resetting copilot token", "type" : 4 } [2024-11-10T23:23:44.863Z] [info] [GitHubCopilot] [68588] Diagnostics: [2024-11-10T23:23:46.057Z] [info] [GitHubCopilot] [68576] Diagnostics:

Copilot

Environment

Feature Flags

Node setup

Network Configuration

Reachability

devm33 commented 2 weeks ago

@pay-sean-me thank you for sharing the diagnostics! It looks like there is TLS inspection happening specifically on the github.com/login/ URL:

github.com: self-signed certificate in certificate chain api.github.com: HTTP 200 - OK copilot-proxy.githubusercontent.com: HTTP 200 - OK api.githubcopilot.com: HTTP 200 - OK copilot-telemetry.githubusercontent.com: HTTP 200 - OK default.exp-tas.com: HTTP 200 - OK

Is that expected?

pay-sean-me commented 2 weeks ago

@devm33 ah! i turned off the Proxy strict SSL setting and it connected! (using GitHubCopilotForXcode_proxyStrictSSL.dmg)

devm33 commented 2 weeks ago

@pay-sean-me Great, thank you for confirming! That fix should be in the next release.

devm33 commented 2 weeks ago

👋 This is out now in the latest Pre-release 0.28.95