Codeflio uses GitHub's OAuth Device Authorization Flow. A distributor must register a GitHub OAuth App, enable Device Flow in that app's settings, and provide its public client ID when building or launching Codeflio.
-
Register an OAuth App named Codeflio in GitHub developer settings.
-
Enable Device Flow for the app.
-
Set a descriptive homepage URL. The callback URL is not used by device flow, but GitHub may require a syntactically valid HTTPS URL in the registration form.
-
Provide the client ID using one of these options:
CODEFLIO_GITHUB_CLIENT_ID=your_client_id cargo build --releaseOr, for development:
CODEFLIO_GITHUB_CLIENT_ID=your_client_id cargo run
The build-time value is embedded as a public OAuth client identifier, not a client secret. Never embed or distribute an OAuth client secret. Codeflio requests only:
read:user user:email read:org
It requests no write scopes and does not request repo. During login, Codeflio displays the
one-time code, expiration countdown, requested permissions, application name, and the official
destination https://github.com/login/device.
Successful access tokens are stored under the Secret Service attributes:
service = io.github.worxbend.codeflio
account = github user ID
login = GitHub login
Tokens are not written to preferences, SQLite, logs, or diagnostic output. Local logout deletes the Secret Service item. It does not automatically revoke authorization on GitHub; use the Manage GitHub authorization action in Settings to review or revoke it.