Added MCP server command to enable authentication using ChatGPT (#2373)

This PR adds two new APIs for the MCP server: 1) loginChatGpt, and 2)
cancelLoginChatGpt. The first starts a login server and returns a local
URL that allows for browser-based authentication, and the second
provides a way to cancel the login attempt. If the login attempt
succeeds, a notification (in the form of an event) is sent to a
subscriber.

I also added a timeout mechanism for the existing login server. The
loginChatGpt code path uses a 10-minute timeout by default, so if the
user fails to complete the login flow in that timeframe, the login
server automatically shuts down. I tested the timeout code by manually
setting the timeout to a much lower number and confirming that it works
as expected when used e2e.
This commit is contained in:
Eric Traut
2025-08-17 10:03:52 -07:00
committed by GitHub
parent 1930ee720a
commit 350b00d54b
7 changed files with 290 additions and 5 deletions

1
codex-rs/Cargo.lock generated
View File

@@ -855,6 +855,7 @@ dependencies = [
"assert_cmd",
"codex-arg0",
"codex-core",
"codex-login",
"mcp-types",
"mcp_test_support",
"pretty_assertions",