Files
codex/codex-rs/app-server-protocol/schema/json/v2/GatewayOAuthChangedNotification.json
smurching-oai d8c42ecf8f Add device authorization to app-server gateway OAuth (#60486)
## What changed

- Advertise `supportsDeviceAuth` in `account/gatewayOAuth/read` and accept `deviceAuth: true` in `account/gatewayOAuth/login`.
- Return a device prompt with `verificationUrl`, `userCode`, and `loginId` before approval, then notify the initiating connection of success or failure with the matching `loginId`.
- Reuse or refresh saved credentials when possible, returning `prompt: null` without another device authorization. Update protocol schemas, generated bindings, and documentation.

## Testing

Add an integration test covering the device prompt, correlated completion notification, capability reporting, and token refresh without another device grant.

GitOrigin-RevId: 6ecc38c9baadcfda3272654ed71e4aaa431421bf
2026-11-10 01:28:45 +00:00

48 lines
910 B
JSON
Generated

{
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {
"GatewayOAuthStatus": {
"enum": [
"notReady",
"started",
"succeeded",
"failed"
],
"type": "string"
}
},
"properties": {
"authUrl": {
"description": "Authorization handoff, sent only to the connection that started login.",
"type": [
"string",
"null"
]
},
"error": {
"type": [
"string",
"null"
]
},
"loginId": {
"description": "Identifies the completed device login attempt.",
"type": [
"string",
"null"
]
},
"providerId": {
"type": "string"
},
"status": {
"$ref": "#/definitions/GatewayOAuthStatus"
}
},
"required": [
"providerId",
"status"
],
"title": "GatewayOAuthChangedNotification",
"type": "object"
}