Expand description
OAuth authorization-code login for channels (§14.5).
Channel covers per-request upstream access and
the silent refresh_token rotation; ChannelLogin is the orthogonal
first-time credential acquisition — the interactive authcode + PKCE dance
that mints the very secret a channel later refreshes. A channel may impl one,
both, or neither (an API-key channel impls neither).
Pure async + serde_json — no cipher, no persistence, no axum. Compiles on
native AND wasm (the registry that holds these is used on every target); the
admin HTTP endpoints that drive the flow are native-only. The dual
#[cfg_attr] async_trait Send/?Send split mirrors Channel.
Structs§
- Auth
Code Exchange Ctx - Inputs for exchanging an authorization code.
- Auth
Code Start - The output of
ChannelLogin::authcode_start: where to send the user, and the redirect_uri the channel actually used. - Auth
Code Start Ctx - Inputs for starting an authorization-code login.
- Cookie
Exchange Ctx - Inputs for exchanging a browser session cookie.
- Device
Init - The output of
ChannelLogin::device_start: the device + user codes and the URL the operator visits to authorize, plus the poll interval the provider asked for (seconds). - Device
Poll Ctx - Inputs for one device-code poll.
- Device
Start Ctx - Inputs for starting a device-code login.
Enums§
- Device
Poll - One poll tick of a device-code login.
Traits§
- Channel
Login - Interactive OAuth authorization-code (+PKCE) login for a channel.