Packages

@better-auth/oauth-provider

1.7.12 · 20 Oct 2026MIT1.6M / weekRepositoryHomepagenpmAtom feed

69 stable releases, newest first, by release line. Notes are quoted as the maintainers published them.

  1. 1.7.12

    20 Oct 2026
    • Fixed the JWT plugin to verify JWTs and session cookie-cache JWTs with the stored key's algorithm instead of the token header's, and to warn when signing or verifying a JWT without an issuer or audience

    • Fixed OAuth callbacks completed through the OAuth proxy to run the same checks as the standard OAuth callback, including issuer and ID token nonce validation

    • Fixed auth.api.getSession() to keep the original database error as error.cause when the session lookup fails

  2. 1.7.11

    19 Oct 2026
    • Fixed OpenAPI schemas for /oauth2/consent and /oauth2/continue to match their redirect responses.

    • Fixed CIMD metadata refreshes overwriting concurrent administrator changes to discovered clients.

  3. 1.7.10

    15 Oct 2026
    • Added optional self-service signing key rotation for private_key_jwt clients.

    • Fixed valid DPoP proofs being rejected for parameterized routes and URLs with trailing slashes.

    • Fixed native clients with HTTP loopback callbacks being rejected when application type inference is enabled.

  4. 1.7.9

    15 Oct 2026
    • Added isContinuation to postLogin.shouldRedirect so users can complete authorization after selecting an organization

    • Fixed DPoP validation for token and UserInfo requests behind proxies that rewrite request URLs

  5. 1.7.8

    14 Oct 2026
    • Added support for pausing and resuming OAuth clients through adminUpdateOAuthClient

    • Added support for linking protected resources when registering a client with adminCreateOAuthClient

    • Added resource identifier validation for adminCreateOAuthResource and configured resources

  6. 1.7.7

    30 Sep 2026
    • Added optional validateRedirectUri validation for trusted deployments with dynamic OAuth redirect URIs.

    • Added verifyOAuthQueryParams to verify signed authorization queries before rendering a custom consent page.

  7. 1.7.6

    24 Sep 2026
    • Added support for a bannedUserMessage function that receives the banned user, allowing sign-in errors to include details such as the ban reason.

    • Added Vercel BotID as a captcha provider for protected authentication routes.

    • Passwords over maxPasswordLength are now rejected with PASSWORD_TOO_LONG before hashing or verification.

  8. 1.7.5

    14 Sep 2026
    • Added database.schemaName support for direct PostgreSQL connections.

    • Improved server-side logging for Cloudflare Turnstile verification failures.

    • Fixed PostgreSQL migrations incorrectly identifying tables and views across schemas.

  9. 1.7.4

    10 Sep 2026
    • Added experimental.instrumentation.enabled to disable OpenTelemetry span creation per auth instance.

    • Added support for additional session fields in testUtils auth helpers.

    • Added Vitest 5 support to the testing utilities.

  10. 1.7.3

    6 Sep 2026
    • Allowed native OAuth clients using localhost loopback redirects to use ephemeral callback ports.

  11. 1.7.2

    26 Aug 2026
    • Fixed Client ID Metadata Document registration when clients share at least one supported grant with the server.

    • Improved validation of relative callback and redirect URLs with paths, queries, and fragments.

    • Fixed relative redirect URLs containing fragments.

  12. 1.7.1

    18 Aug 2026
    • Fixed scope error responses so MCP clients now receive a 403 with an RFC 6750 insufficient_scope WWW-Authenticate challenge naming every missing scope, allowing clients to request all needed scopes in a single authorization request.

  13. 1.7.0

    18 Aug 2026
    • breaking

      Moved the MCP plugin into its own @better-auth/mcp package built on the OAuth provider

      Migration: Install @better-auth/mcp and @better-auth/cimd, add the now-required jwt() plugin, and move options nested under oidcConfig to flat mcp({ ... }) options. Rename withMcpAuth to requireMcpAuth and mcpHandler to createMcpProtectedRequestHandler. Regenerate the schema (npx auth migrate): oauthApplication becomes oauthClient, plus new oauthRefreshToken and oauthClientAssertion tables.

    • breaking

      Added OIDC back-channel logout so ending a session cuts off every connected app's API access

      Migration: Introspecting an access token whose session has ended now returns { active: false }, and /oauth2/userinfo rejects it. Clients opt into notifications by registering backchannel_logout_uri. Run the schema migration for the new oauthClient and oauthAccessToken columns.

    • breaking

      Aligned OAuth client registration and metadata with MCP authorization 2026-07-28

      Migration: Add applicationType and nullable clientDiscoveryId columns, deduplicate existing (clientId, resourceId) links before the new compound unique index, then drop the legacy type and public columns. Replace clientCredentialGrantDefaultScopes with per-client clientCredentialsScopes, backfilling every client to `` and reassigning approved machine scopes after an audit. mcp() no longer enables unauthenticated DCR: compose it with cimd() or enable both DCR flags explicitly.

  14. 1.6.33

    14 Sep 2026
    • Fixed database option type inference for projects that do not use Cloudflare Workers.

  15. 1.6.32

    14 Sep 2026
    • Improved diagnostics for Cloudflare Turnstile verification failures

  16. 1.6.31

    10 Sep 2026
    • Added an option to disable OpenTelemetry span creation for individual auth instances

    • Added an option to disable OpenTelemetry span creation for individual auth instances

  17. 1.6.30

    17 Aug 2026
    • Fixed concurrent cold-start requests from intermittently losing authentication or transaction context due to an async storage initialization race

    • Fixed automatic organization assignment via email domain to require both a verified provider domain and a verified stored user email, preventing social sign-in from joining an organization whose SSO provider merely claims that domain.

    • Fixed domain verification to snapshot the provider's domains at request start, returning 409 with SSO_PROVIDER_CHANGED if the provider changes during DNS resolution so callers can reload and retry.

  18. 1.6.29

    14 Aug 2026
    • Improved deleteSessions performance by running deletes in parallel instead of sequentially

    • Fixed automatic email-domain organization assignment to require both a verified provider domain and a verified user email, preventing social sign-in from granting access when an SSO provider merely claims a domain.

    • Fixed domain verification to snapshot the provider's domains at request start, returning 409 with SSO_PROVIDER_CHANGED if the provider changes during DNS verification so callers can reload and retry.

  19. 1.6.28

    13 Aug 2026
    • Prevented duplicate session requests during React Suspense retries while preserving revalidation for interrupted refreshes

    • Restored client plugin declaration compatibility for downstream TypeScript consumers

    • Restored client plugin declaration compatibility for downstream TypeScript consumers

  20. 1.6.27

    11 Aug 2026
    • Fixed duplicate session requests being made across Suspense retries

    • Fixed auth endpoint types to align with better-call

    • Fixed the CLI to align installed packages with the running CLI version

  21. 1.6.26

    4 Aug 2026
    • Fixed session cleanup on user deletion to also remove sessions from secondary storage

    • Fixed findSessions to skip invalid secondary-storage session entries without discarding other valid sessions

    • Fixed email OTP sign-up to pass the verification type to custom OTP generators

  22. 1.6.25

    23 Jul 2026

    Reading the note…

  23. 1.6.24

    22 Jul 2026

    Reading the note…

  24. 1.6.23

    29 Jun 2026

    Reading the note…

  25. 1.6.22

    26 Jun 2026

    Reading the note…

  26. 1.6.21

    26 Jun 2026

    Reading the note…

  27. 1.6.20

    20 Jun 2026

    Reading the note…

  28. 1.6.19

    16 Jun 2026

    Reading the note…

  29. 1.6.18

    12 Jun 2026

    Reading the note…

  30. 1.6.17

    12 Jun 2026

    Reading the note…

  31. 1.6.16

    10 Jun 2026

    Reading the note…

  32. 1.6.15

    8 Jun 2026

    Reading the note…

  33. 1.6.14

    2 Jun 2026

    Reading the note…

  34. 1.6.13

    31 May 2026

    Reading the note…

  35. 1.6.12

    29 May 2026

    Reading the note…

  36. 1.6.11

    12 May 2026

    Reading the note…

  37. 1.6.10

    9 May 2026

    Reading the note…

  38. 1.6.9

    24 Apr 2026

    Reading the note…

  39. 1.6.8

    23 Apr 2026

    Reading the note…

  40. 1.6.7

    22 Apr 2026

    Reading the note…

  41. 1.6.6

    21 Apr 2026

    Reading the note…

  42. 1.6.5

    16 Apr 2026

    Reading the note…

  43. 1.6.4

    15 Apr 2026

    Reading the note…

  44. 1.6.3

    14 Apr 2026

    Reading the note…

  45. 1.6.2

    9 Apr 2026

    Reading the note…

  46. 1.6.1

    8 Apr 2026

    Reading the note…

  47. 1.6.0

    6 Apr 2026

    Reading the note…

  48. 1.5.6

    22 Mar 2026

    Reading the note…

  49. 1.5.5

    11 Mar 2026

    Reading the note…

  50. 1.5.4

    6 Mar 2026

    Reading the note…