Both providers were registered but never usable: all four client env vars are empty in production and no Account row has ever been created. Email and password is the only path that has ever worked. This also simplifies the invite gating that follows. With OAuth there were two redemption paths, an invite token that had to survive the provider round trip in a SameSite=Lax cookie, and an OAuthAccountNotLinked dead end for anyone who signed up with a password and later clicked a provider button. Now there is one path. Account, Session and VerificationToken stay in the schema. They are Auth.js's tables and dropping them would be a destructive migration for no benefit. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
13 KiB
13 KiB