Skip to content

feat: define canonical OAuth adapter contract#101

Merged
artiphishle merged 5 commits into
mainfrom
phase3/oauth-contracts
Jul 12, 2026
Merged

feat: define canonical OAuth adapter contract#101
artiphishle merged 5 commits into
mainfrom
phase3/oauth-contracts

Conversation

@artiphishle

@artiphishle artiphishle commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

Part of ankhorage/supabase-auth#18.

Summary

  • replace the optional URL-only OAuth adapter methods with one canonical adapter.oauth capability;
  • require both authorization start and callback completion whenever OAuth is advertised;
  • model enabled providers, exact redirect URI, opaque authorization attempts, platform callback/cancellation/error transport results, typed OAuth failures, and successful completion through the existing AuthSession contract;
  • make infra.auth.oauth.callbackRoute the only manifest callback source by removing provider-level redirectTo;
  • remove signInWithOAuth, completeOAuthSignIn, supportsOAuth, oauthProviders, and the superseded URL-only DTOs;
  • add regression coverage and a major changeset for @ankhorage/contracts.

Scope

This PR defines provider-neutral contracts only. Supabase PKCE implementation, platform browser/deep-link transport, generated callback routes, and secure session persistence remain in the subsequent Phase 3 package PRs.

Validation

  • build
  • lint
  • format check
  • Knip
  • tests
  • typecheck
  • changeset status

All repository CI checks pass on the current head.

@artiphishle artiphishle marked this pull request as ready for review July 12, 2026 04:31
@artiphishle artiphishle self-assigned this Jul 12, 2026
@artiphishle artiphishle merged commit d46f70b into main Jul 12, 2026
1 check passed
@artiphishle artiphishle deleted the phase3/oauth-contracts branch July 12, 2026 05:19
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