Crig::Providers::Copilot::OAuth
OAuth device-code authentication for GitHub Copilot.
Flow:
- Request device code from GitHub
- Show user the verification URL and code
- Poll for access token
- Exchange GitHub token for Copilot API key
- Cache API key to disk for reuse
Constants
DEVICE_CODE_POLL_SLEEP_SECONDS = 5_u64
DEVICE_CODE_SLOW_DOWN_SECONDS = 5_u64
DEVICE_CODE_TIMEOUT_SECONDS = 15 * 60_u64
GITHUB_ACCESS_TOKEN_URL = "https://github.com/login/oauth/access_token"
GITHUB_API_KEY_URL = "https://api.github.com/copilot_internal/v2/token"
GITHUB_CLIENT_ID = "Iv1.b507a08c87ecfe98"
GITHUB_DEVICE_CODE_URL = "https://github.com/login/device/code"
Nested types
- Crig::Providers::Copilot::OAuth::AccessTokenResponse
- Crig::Providers::Copilot::OAuth::AuthContext
- Crig::Providers::Copilot::OAuth::AuthError
- Crig::Providers::Copilot::OAuth::Authenticator
- Crig::Providers::Copilot::OAuth::CopilotApiKeyRecord
- Crig::Providers::Copilot::OAuth::CopilotApiKeyResponse
- Crig::Providers::Copilot::OAuth::DeviceCodePrompt
- Crig::Providers::Copilot::OAuth::DeviceCodeResponse