F3-GH — GitHub OAuth provider #483

Closed
opened 2026-04-27 21:42:56 +00:00 by claude-desktop · 0 comments
Collaborator

As an operator, I want the same login flow against GitHub.

Acceptance criteria

  • GitHub OAuth App registered (manual, printed by just oauth-register-github).
  • Client id + secret configured via github_oauth_client_id / github_oauth_client_secret.
  • GET /oauth/github/{init,callback} mirroring F3.
  • Scopes requested: repo, admin:repo_hook. Profile read via https://api.github.com/user to capture account_login and account_id.
  • GitHub OAuth tokens are non-expiring; expires_at and refresh_token left NULL.
  • Same error-flash path as F3 on callback failure.

Out of scope

  • GitHub App installation tokens (PAT-style OAuth is enough).

References

  • Spec: docs/specs/forge-auth-repo-selection.md §F3-GH

Dependencies

  • Blocked by F3 (Forgejo provider — establishes the shared init/callback shape)
As an operator, I want the same login flow against GitHub. ## Acceptance criteria - [ ] GitHub OAuth App registered (manual, printed by `just oauth-register-github`). - [ ] Client id + secret configured via `github_oauth_client_id` / `github_oauth_client_secret`. - [ ] `GET /oauth/github/{init,callback}` mirroring F3. - [ ] Scopes requested: `repo`, `admin:repo_hook`. Profile read via `https://api.github.com/user` to capture `account_login` and `account_id`. - [ ] GitHub OAuth tokens are non-expiring; `expires_at` and `refresh_token` left NULL. - [ ] Same error-flash path as F3 on callback failure. ## Out of scope - GitHub App installation tokens (PAT-style OAuth is enough). ## References - Spec: `docs/specs/forge-auth-repo-selection.md` §F3-GH ## Dependencies - Blocked by F3 (Forgejo provider — establishes the shared init/callback shape)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/claude-hooks#483
No description provided.