Commit Graph

10 Commits

Author SHA1 Message Date
Chris Farhood c017499857 ci: retrigger (docker hub TLS timeout on base image pull)
build / test (push) Successful in 9s
build / build (push) Successful in 8s
2026-07-05 23:08:00 -04:00
Chris Farhood cfac41d774 auth: server-side /login redirect to Google (no interactive JS page)
build / test (push) Successful in 10s
build / build (push) Failing after 13s
Claude's OAuth window doesn't run page JS, so the button never fired. Initiate
Google sign-in server-side via auth.api.signInSocial and 302 straight to Google;
after Google, callbackURL returns to /oauth2/authorize and the flow resumes. Pure
redirect chain, no client JS.
2026-07-05 22:59:32 -04:00
Chris Farhood b6c0751687 auth: request tracing + configurable Better Auth log level (debug OAuth flow)
build / test (push) Successful in 14s
build / build (push) Successful in 13s
2026-07-05 22:48:20 -04:00
Chris Farhood 4e49632e23 auth: login page resumes the OAuth authorize flow after sign-in
build / test (push) Successful in 7s
build / build (push) Successful in 6s
Better Auth redirects to the login page with the original signed authorize params;
hand them back to /oauth2/authorize as the post-sign-in callback so a code is
issued (was defaulting to '/', producing a blank page).
2026-07-05 22:39:13 -04:00
Chris Farhood 1a52fba596 auth: seed portal as a stable public+PKCE OIDC client in migrate step
build / test (push) Successful in 7s
build / build (push) Successful in 9s
2026-07-05 22:14:42 -04:00
Chris Farhood 213a2b3583 fix: register jwt() plugin (oauth-provider requires it; else jwt_config error)
build / test (push) Successful in 15s
build / build (push) Successful in 6s
2026-07-05 18:48:03 -04:00
Chris Farhood 5532191ab5 feat: use current @better-auth/oauth-provider (drop deprecated oidc-provider)
build / test (push) Successful in 7s
build / build (push) Successful in 14s
Current OAuth 2.1 provider plugin (versioned with core, 1.6.23). Bundles JWT
(access tokens verifiable at /jwks), DCR via /oauth2/register incl. unauthenticated
registration (MCP clients register before they have creds), skipConsent since
sign-in is the authorization for a personal connector.
2026-07-05 16:38:57 -04:00
Chris Farhood 8e67f1d4e2 db: use shared default schema (no separate-schema bootstrap needed)
build / test (push) Successful in 13s
build / build (push) Successful in 5s
2026-07-05 16:25:09 -04:00
Chris Farhood f88687c182 fix: pin better-auth 1.6.23, drop stale CLI, programmatic migrations, fix CI
build / test (push) Successful in 20s
build / build (push) Successful in 14s
- Explicitly track latest core (1.6.23); the @better-auth/cli lags at 1.4.21 and
  pulled a second core copy — replaced with a getMigrations() script on the same
  version (src/migrate.ts).
- CI build job matches the proven pattern (no setup-buildx; plain build/push).
2026-07-05 16:20:40 -04:00
Chris Farhood f47d873262 feat: Better Auth OAuth/OIDC server for the Intervals.icu MCP product
build / test (push) Successful in 20s
build / build (push) Failing after 29s
DCR-capable (RFC 7591) OAuth authorization server so Claude's MCP connector
self-registers — the thing Authentik can't do until 2026.8.0. Users sign in with
Google/Apple; oidcProvider + jwt issue asymmetric JWTs (JWKS) the MCP server
verifies. Shares the existing CNPG Postgres (own `betterauth` schema).

Scaffold: auth config, minimal Node server + login page, Dockerfile, CI.
2026-07-05 16:14:32 -04:00