stevenlee-oai
4c89139da9
Add CIMD support to MCP OAuth registration ( #38089 )
...
## What changed
- Make automatic MCP OAuth registration prefer Client ID Metadata Documents
(CIMD) when the authorization server advertises support for public clients and
Codex is using its native loopback callback. Fall back to advertised Dynamic
Client Registration (DCR) otherwise.
- Add explicit `cimd` and `dcr` registration overrides to the CLI and app-server
OAuth login API. Validate CIMD metadata and callback URLs before starting the
authorization flow.
- Use a callback-specific Codex client metadata URL for CIMD and retain the
exact redirect URI through authorization and token exchange.
## Testing
- Cover automatic and forced CIMD selection, DCR fallback, invalid metadata and
redirects, token refresh, authenticated MCP requests, and conformance
regression checks.
GitOrigin-RevId: 4238372ca53b0f38e781e141ab5da97e0a6ddf45
2026-08-12 00:01:01 +00:00
..
2026-08-02 21:01:04 +00:00
2026-07-30 21:49:53 +00:00
2026-07-30 21:49:53 +00:00
2026-07-22 23:45:45 +00:00
2026-07-17 15:23:35 +00:00
2026-07-17 15:23:35 +00:00
2026-02-09 23:10:26 -08:00
2026-07-22 23:45:45 +00:00
2026-08-10 22:39:29 +00:00
2026-07-23 01:00:35 +00:00
2026-03-06 17:30:17 -08:00
2026-05-18 17:28:50 -07:00
2026-03-06 17:30:17 -08:00
2026-03-06 17:30:17 -08:00
2026-03-06 17:30:17 -08:00
2026-03-06 17:30:17 -08:00
2026-03-06 17:30:17 -08:00
2026-03-06 17:30:17 -08:00
2026-03-06 17:30:17 -08:00
2026-07-23 13:11:16 +00:00
2026-05-22 16:52:53 +00:00
2026-08-10 11:22:55 +00:00
2026-08-08 01:37:02 +00:00
2026-08-10 11:22:55 +00:00
2026-07-06 12:54:06 -07:00
2026-06-15 21:54:01 +00:00
2026-07-15 05:21:13 +00:00
2026-06-23 16:49:13 -07:00
2026-03-25 02:27:00 +00:00
2026-03-25 02:27:00 +00:00
2026-05-18 12:12:14 -07:00
2026-02-05 23:31:04 +00:00
2026-07-21 02:55:11 +00:00
2026-07-30 20:58:06 +00:00
2026-07-29 02:45:55 +00:00
2026-07-29 02:45:55 +00:00
2026-07-29 02:45:55 +00:00
2026-07-23 17:55:22 +00:00
2026-07-23 17:55:22 +00:00
2026-07-29 02:45:55 +00:00
2026-06-15 13:25:42 -07:00
2026-05-22 16:52:53 +00:00
2026-04-30 11:42:07 -07:00
2026-04-20 10:44:03 -07:00
2026-04-07 11:22:28 -07:00
2026-03-13 14:42:20 -07:00
2026-03-13 14:42:20 -07:00
2026-03-13 14:42:20 -07:00
2026-03-13 14:42:20 -07:00
2026-03-13 14:42:20 -07:00
2026-04-13 17:46:56 -07:00
2026-03-13 14:42:20 -07:00
2026-03-13 14:42:20 -07:00
2026-03-13 14:42:20 -07:00
2026-03-13 14:42:20 -07:00
2026-03-13 14:42:20 -07:00
2026-03-13 14:42:20 -07:00
2026-04-07 11:22:28 -07:00
2026-03-24 15:52:13 -07:00
2026-04-07 11:22:28 -07:00
2026-04-07 11:22:28 -07:00
2026-03-13 14:42:20 -07:00
2026-03-13 14:42:20 -07:00
2026-05-22 16:52:53 +00:00
2026-07-30 21:49:53 +00:00
2026-07-30 21:49:53 +00:00
2026-06-05 14:43:44 +00:00
2026-06-22 04:25:07 -07:00
2026-04-22 20:34:15 +00:00
2026-07-17 19:58:56 +00:00
2026-04-29 23:39:57 +00:00
2026-08-08 04:57:06 +00:00
2026-07-17 19:58:56 +00:00
2026-08-11 15:40:52 +00:00
2026-07-14 16:40:13 +00:00
2026-07-14 16:40:13 +00:00
2026-08-11 15:40:52 +00:00
2026-05-26 07:44:04 -07:00
2026-08-10 17:14:51 +00:00
2026-07-09 17:05:37 -07:00
2026-07-09 17:05:37 -07:00
2026-04-13 20:37:11 -07:00
2026-04-13 20:37:11 -07:00
2026-04-19 23:22:49 -07:00
2026-04-19 23:22:49 -07:00
2026-04-23 13:00:46 -07:00
2026-04-23 13:00:46 -07:00
2026-04-20 19:59:36 -07:00
2026-04-06 19:17:14 -07:00
2026-06-25 10:31:17 +01:00
2026-08-12 00:01:01 +00:00
2026-06-25 21:50:36 +00:00
2026-04-11 04:39:19 +00:00
2026-04-11 04:39:19 +00:00
2026-02-13 16:26:32 -08:00
2026-08-07 11:26:01 +00:00
2026-04-29 01:36:19 +00:00
2026-04-29 01:36:19 +00:00
2026-02-17 11:02:23 -08:00
2026-06-22 19:51:03 -07:00
2026-04-22 22:24:12 -07:00
2026-05-20 02:42:56 +00:00
2026-06-22 13:48:09 -07:00
2026-05-18 03:11:54 -07:00
2026-07-29 01:16:29 +00:00
2026-08-10 03:28:19 +00:00
2026-06-11 10:34:41 -07:00
2026-07-21 16:30:17 +00:00
2026-07-29 01:16:29 +00:00
2026-04-17 16:47:58 -07:00
2026-07-29 01:16:29 +00:00
2026-05-13 00:50:29 -07:00
2026-05-13 00:50:29 -07:00
2026-04-29 23:49:20 -07:00
2026-04-29 23:49:20 -07:00
2026-04-29 23:49:20 -07:00
2026-07-29 01:16:29 +00:00
2026-05-08 20:46:39 -07:00
2026-07-24 22:14:12 +00:00
2026-07-17 21:29:51 +00:00
2026-05-08 20:46:39 -07:00
2026-05-01 00:16:25 -07:00
2026-05-01 00:16:25 -07:00
2026-04-17 16:47:58 -07:00
2026-03-09 12:40:25 -07:00
2026-05-04 16:43:58 -07:00
2026-05-04 16:43:58 -07:00
2026-07-16 04:45:05 +00:00
2026-07-28 23:49:37 +00:00
2026-05-15 14:33:24 -07:00
2026-08-11 15:40:52 +00:00
2026-04-17 21:41:57 -07:00
2026-04-17 21:41:57 -07:00
2026-02-27 12:45:59 -08:00
2026-03-03 17:01:00 -08:00
2026-03-23 12:57:40 -07:00
2026-05-28 21:14:34 -07:00
2026-05-28 21:14:34 -07:00
2026-05-07 20:56:42 -07:00
2026-07-23 21:06:37 +00:00
2026-04-22 10:38:19 -07:00
2026-04-22 10:38:19 -07:00
2026-02-17 14:53:58 -08:00
2026-02-25 13:14:30 -08:00
2026-02-03 18:15:55 -08:00
2026-02-03 18:15:55 -08:00
2026-06-10 11:22:12 -07:00
2026-06-10 11:22:12 -07:00
2026-06-10 11:22:12 -07:00
2026-06-27 09:54:56 -07:00
2026-08-11 15:40:52 +00:00
2026-04-24 20:53:41 -07:00
2026-05-20 15:07:35 -07:00
2026-05-20 15:07:35 -07:00
2026-05-20 15:07:35 -07:00
2026-05-20 15:07:35 -07:00
2026-05-20 15:07:35 -07:00
2026-05-20 15:07:35 -07:00
2026-05-18 11:28:53 -07:00
2026-04-13 16:11:05 -07:00
2026-04-13 16:11:05 -07:00
2026-07-29 18:37:22 +00:00
2026-08-11 15:40:52 +00:00
2026-07-29 18:37:22 +00:00
2026-08-11 15:40:52 +00:00
2026-05-22 16:52:53 +00:00
2026-08-11 15:40:52 +00:00
2026-02-25 09:59:10 -08:00
2026-02-25 09:59:10 -08:00
2026-02-25 09:59:10 -08:00
2026-03-16 21:38:07 -07:00
2026-04-07 15:43:38 -07:00
2026-07-15 05:59:37 +00:00
2026-04-14 00:13:13 -07:00
2026-04-14 00:13:13 -07:00
2026-07-28 23:49:37 +00:00
2026-08-11 15:40:52 +00:00
2026-06-25 17:15:46 +00:00
2026-08-11 15:40:52 +00:00
2026-08-10 23:32:42 +00:00
2026-08-10 23:32:42 +00:00
2026-07-31 19:08:45 +00:00
2026-07-31 19:08:45 +00:00
2026-07-28 05:26:16 +00:00
2026-08-10 23:32:42 +00:00
2026-07-29 18:37:22 +00:00
2026-07-29 18:37:22 +00:00
2026-08-10 23:32:42 +00:00
2026-08-10 23:32:42 +00:00
2026-07-02 18:44:34 -07:00
2026-03-18 23:42:40 -06:00
2026-03-18 23:42:40 -06:00
2026-08-11 15:40:52 +00:00
2026-07-14 04:41:08 +00:00
2026-08-11 15:40:52 +00:00
2026-02-18 15:20:03 -08:00
2026-07-16 00:22:53 +00:00
2026-02-17 14:53:58 -08:00
2026-08-11 15:40:52 +00:00
2026-02-25 13:14:30 -08:00
2026-02-25 13:14:30 -08:00
2026-08-11 15:40:52 +00:00
2026-06-05 02:41:06 -07:00
2026-08-11 15:40:52 +00:00
2026-07-17 23:14:37 +00:00
2026-08-11 15:40:52 +00:00
2026-07-17 23:14:37 +00:00
2026-02-06 00:35:04 +00:00
2026-04-17 18:11:47 -07:00
2026-05-05 09:58:23 -07:00
2026-02-18 13:03:16 -08:00
2026-03-08 18:07:46 -07:00
2026-02-18 13:03:16 -08:00