mirror of
https://github.com/openai/codex.git
synced 2026-11-10 08:43:33 +00:00
## What changed - Select workload identity authentication from `OPENAI_FEDERATION_RULE_ID` and `OPENAI_IDENTITY_TOKEN_FILE`, while preserving explicit API key and access token precedence. - Adapt workload identity exchanges to the shared authentication manager and reuse a compatible process-scoped session for token resolution and refresh. - Reject incomplete, conflicting, or unsupported configurations and exchanged tokens that change the authenticated subject. - Classify exchange failures for authentication retry handling and invalidate rejected cached tokens without discarding a newer concurrent exchange. ## Testing - Cover configuration selection and validation, session reuse and conflicts, identity-preserving refreshes, concurrent refreshes, and retry classification. GitOrigin-RevId: 62afb514b4e0a59effb08f464ac929633462a71b
59 lines
1.6 KiB
TOML
59 lines
1.6 KiB
TOML
[package]
|
|
name = "codex-login"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
base64 = { workspace = true }
|
|
chrono = { workspace = true, features = ["serde"] }
|
|
codex-agent-identity = { workspace = true }
|
|
codex-http-client = { workspace = true }
|
|
codex-config = { workspace = true }
|
|
codex-keyring-store = { workspace = true }
|
|
codex-model-provider-info = { workspace = true }
|
|
codex-otel = { workspace = true }
|
|
codex-protocol = { workspace = true }
|
|
codex-secrets = { workspace = true }
|
|
codex-terminal-detection = { workspace = true }
|
|
codex-utils-template = { workspace = true }
|
|
codex-workload-identity = { workspace = true }
|
|
http = { workspace = true }
|
|
once_cell = { workspace = true }
|
|
os_info = { workspace = true }
|
|
rand = { workspace = true }
|
|
serde = { workspace = true, features = ["derive"] }
|
|
serde_json = { workspace = true }
|
|
sha2 = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
tiny_http = { workspace = true }
|
|
tokio = { workspace = true, features = [
|
|
"io-std",
|
|
"macros",
|
|
"process",
|
|
"rt-multi-thread",
|
|
"signal",
|
|
] }
|
|
tracing = { workspace = true }
|
|
url = { workspace = true }
|
|
urlencoding = { workspace = true }
|
|
webbrowser = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
anyhow = { workspace = true }
|
|
core_test_support = { workspace = true }
|
|
jsonwebtoken = { workspace = true }
|
|
keyring = { workspace = true }
|
|
pretty_assertions = { workspace = true }
|
|
regex-lite = { workspace = true }
|
|
serial_test = { workspace = true }
|
|
tempfile = { workspace = true }
|
|
tracing-subscriber = { workspace = true }
|
|
wiremock = { workspace = true }
|
|
|
|
[lib]
|
|
doctest = false
|