Skip to content

feat(auth): bundled OAuth client provider - #84

Merged
ldelvoye merged 3 commits into
mainfrom
feat/bundled-oauth-client
Sep 14, 2026
Merged

ldelvoye merged 3 commits into
mainfrom
feat/bundled-oauth-client

Conversation

@ldelvoye

Copy link
Copy Markdown
Owner

Adds a third OAuth provider flavor, BundledProvider, for services that offer neither dynamic client registration nor a pasteable token and whose console makes per-user app creation a chore. smorg's maintainer registers the app once and the client id and secret ship with the build, the way desktop calendar clients do. The token exchange and refresh post the secret, the CLI and the in-app connect modal skip the client-id prompt, config records no client id for such a tab, and logout still revokes.

First user is the Google Calendar tab, which lands in the next PRs. Google rejects a secretless code exchange for a desktop client and accepts any loopback port, both verified live.

Replicated against Google from a scratch config with the real bundled client: login with no client id used the bundled one, a forced-expiry refresh went through and persisted, the calendar list answered on the refreshed token, and revocation returned true. The CLI and modal flows have no bundled manifest to drive yet; that check rides with the next PR.

@ldelvoye
ldelvoye merged commit 26bec58 into main Sep 14, 2026
1 check passed
@ldelvoye
ldelvoye deleted the feat/bundled-oauth-client branch September 14, 2026 03:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant