Skip to main content

Module login

Module login 

Source
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§

AuthCodeExchangeCtx
Inputs for exchanging an authorization code.
AuthCodeStart
The output of ChannelLogin::authcode_start: where to send the user, and the redirect_uri the channel actually used.
AuthCodeStartCtx
Inputs for starting an authorization-code login.
CookieExchangeCtx
Inputs for exchanging a browser session cookie.
DeviceInit
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).
DevicePollCtx
Inputs for one device-code poll.
DeviceStartCtx
Inputs for starting a device-code login.

Enums§

DevicePoll
One poll tick of a device-code login.

Traits§

ChannelLogin
Interactive OAuth authorization-code (+PKCE) login for a channel.