Commit Graph
1585 Commits
Author SHA1 Message Date
SaviruandAlex Yang c0414de9c4 feat: add auth.api.verifyPassword (#6934)
Co-authored-by: Alex Yang <himself65@outlook.com>
2026-01-12 02:50:02 -08:00
TaesuAlex Yangcubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
1c02cf02db docs: clean up broken links (#7227)
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2026-01-10 01:59:49 -08:00
Rob MarscherandAlex Yang 78b245c5e8 docs: update waku integration guide (#7233) 2026-01-10 01:59:49 -08:00
1e21959739 docs(one-tap): add missing option and update to clearer description (#7214)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-10 01:59:49 -08:00
MaxwellandAlex Yang 6a8cf492eb docs: document disableOriginCheck in options.mdx (#7199) 2026-01-10 01:59:48 -08:00
MaxwellandAlex Yang 3be413a289 docs(session): document sessions for secondary storage (#7168) 2026-01-09 23:55:40 -08:00
Slava YultyyevandAlex Yang 9a19c88bdd docs: update Firestore adapter to use unscoped package name (#7187) 2026-01-09 23:55:40 -08:00
MaxwellandAlex Yang 7537375f90 docs(drizzle): cleanup code highlights 2026-01-09 23:55:39 -08:00
AndyandAlex Yang c69f597ee5 docs: update Clerk migration guide to include bcrypt configuration (#7134) 2026-01-06 15:24:49 +08:00
e19ee4db43 docs: add bearer plugin requirement note to device auth docs (#6351)
Co-authored-by: Taesu <166604494+bytaesu@users.noreply.github.com>
Co-authored-by: Taesu <bytaesu@gmail.com>
2026-01-06 15:24:49 +08:00
Nestor CortinaandAlex Yang d62d115469 docs: update import path for auth in tanstack integration (#7118) 2026-01-06 15:24:48 +08:00
JiashengandAlex Yang e8d4ab1928 docs: fix ZenStack link in community adapters documentation (#7098) 2026-01-04 02:04:17 +08:00
Alex Yang f5c614de05 docs: correct set password code example (#7094) 2026-01-02 14:22:19 +08:00
Alex YangandValerii Strilets 11493d48c4 feat(stripe): add disableRedirect option for subscription and billing (#7068)
Co-authored-by: Valerii Strilets <valerii.strilets@gmail.com>
2025-12-31 21:36:19 +08:00
cf64f36a40 feat(stripe): handle customer.subscription.created webhook event (#6924)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Alex Yang <himself65@outlook.com>
2025-12-31 21:36:19 +08:00
Alex Yang 9f242af5a6 docs: fix mcp config name (#7067) 2025-12-31 21:36:19 +08:00
c128d4c8e6 feat(stripe): flexible subscription cancellation and termination management (#6961)
Co-authored-by: GautamBytes <manchandanigautam@gmail.com>
2025-12-31 21:36:19 +08:00
Dylan VanmaliandAlex Yang 49821baed0 fix(oauth-provider): only session db store currently supported (#7000) 2025-12-31 21:36:19 +08:00
3f06dd2ddd feat: support form data for email sign-in/sign-up and fallback to checking fetch Metadata for first login (#6314)
Co-authored-by: Taesu <166604494+bytaesu@users.noreply.github.com>
Co-authored-by: Bereket Engida <86073083+Bekacru@users.noreply.github.com>
Co-authored-by: Jonathan Samines <jn.samines@gmail.com>
2025-12-31 21:36:19 +08:00
TaesuandAlex Yang 0ccdf966df fix: correct accountLinking default to true (#6963)
Co-authored-by: Alex Yang <himself65@outlook.com>
2025-12-31 21:36:19 +08:00
Paola Estefanía de CamposandAlex Yang 6e1f41f507 feat(saml): add XML parser hardening with configurable size limits (#6805) 2025-12-31 21:36:19 +08:00
TaesuandAlex Yang 0f519fbfea docs: improve community plugins page (#7031) 2025-12-31 21:36:19 +08:00
TaesuandAlex Yang df3cf91588 docs: improve set active organization guide (#7010) 2025-12-31 21:36:19 +08:00
Alex Yang dde8e6fe1a Revert "feat(multi-session): allow to infer additional fields (#6585)"
This reverts commit 812a648e18.
2025-12-31 21:36:19 +08:00
Alex Yang 4d7d7d5a76 Reapply "docs: add Commet plugin documentation (#6827)"
This reverts commit 380d4c7cae.
2025-12-26 14:46:50 +08:00
TaesuandAlex Yang d858476b7b docs: add notes about cookie cache session revocation (#6966)
Co-authored-by: Alex Yang <himself65@outlook.com>
2025-12-26 14:46:50 +08:00
Joél SolanoandAlex Yang b2d2ea9399 docs(api-key): correct table name in schema section (#6856) 2025-12-26 14:46:49 +08:00
Alex Yangandcubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com> af8ffa278d docs: use data table for community plugin list (#6953)
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2025-12-26 14:46:49 +08:00
Jean-Pierre DUPUISandAlex Yang f92d46dfd0 docs: fix RequestInit body typing for exactOptionalPropertyTypes (#6852) 2025-12-26 14:46:49 +08:00
Dylan VanmaliandAlex Yang ed73775ec8 docs: improve oauth provider setup instructions (#6968) 2025-12-26 14:46:49 +08:00
Dylan VanmaliandAlex Yang 5b831a0901 docs: OAuth Migration improvements (#6964) 2025-12-26 14:46:49 +08:00
Alex Yang b081b7ad4d Revert "docs: add Commet plugin documentation (#6827)"
This reverts commit 0ca1431fc6.
2025-12-23 23:42:55 +08:00
Alex Yang b96c38bddc Merge branch 'canary'
# Conflicts:
#	docs/content/docs/plugins/sso.mdx
#	packages/better-auth/package.json
#	packages/better-auth/src/api/index.ts
#	packages/better-auth/src/api/to-auth-endpoints.test.ts
#	packages/better-auth/src/auth/base.ts
#	packages/better-auth/src/context/create-context.ts
#	packages/better-auth/src/plugins/jwt/index.ts
#	packages/better-auth/src/plugins/multi-session/index.ts
#	packages/better-auth/src/plugins/oauth-proxy/index.ts
#	packages/better-auth/src/plugins/two-factor/index.ts
#	packages/cli/package.json
#	packages/core/package.json
#	packages/core/src/types/init-options.ts
#	packages/expo/package.json
#	packages/oauth-provider/package.json
#	packages/passkey/package.json
#	packages/scim/package.json
#	packages/sso/package.json
#	packages/sso/src/index.ts
#	packages/sso/src/linking/org-assignment.ts
#	packages/stripe/package.json
#	packages/telemetry/package.json
2025-12-23 23:41:56 +08:00
Alexander AsombaandAlex Yang 34e7e50efd docs: add Paystack plugin to community plugins list (#6782) 2025-12-23 23:38:51 +08:00
Alexander AsombaandAlex Yang 75d13a0414 docs: add Paystack plugin to community plugins list (#6782) 2025-12-23 23:38:29 +08:00
285f0527a2 docs: update plugin schema definition (#6951)
Co-authored-by: Mikiyas Tibebu <mikitebe123@gmail.com>
2025-12-23 11:00:18 +00:00
38b24f6ad3 docs: update plugin schema definition (#6951)
Co-authored-by: Mikiyas Tibebu <mikitebe123@gmail.com>
2025-12-23 19:00:03 +08:00
Salih Candirandgithub-actions[bot] 088e753ff0 docs: update file naming example in Next.js integration guide (#6948) 2025-12-23 10:44:33 +00:00
Salih CandirandGitHub 66a6c804f1 docs: update file naming example in Next.js integration guide (#6948) 2025-12-23 18:44:19 +08:00
Paola Estefanía de Camposandgithub-actions[bot] 5bab61c32c feat(saml): reject deprecated SAML signature and digest algorithms (#6784) 2025-12-23 09:41:24 +00:00
Paola Estefanía de CamposandGitHub 1f171cb3fd feat(saml): reject deprecated SAML signature and digest algorithms (#6784) 2025-12-23 17:39:24 +08:00
d067a83113 docs: add Commet plugin documentation (#6827)
Co-authored-by: Alex Yang <himself65@outlook.com>
2025-12-23 09:39:18 +00:00
0ca1431fc6 docs: add Commet plugin documentation (#6827)
Co-authored-by: Alex Yang <himself65@outlook.com>
2025-12-23 17:39:03 +08:00
Taesuandgithub-actions[bot] 5c2180e967 fix: correct wildcard pattern matching for trustedOrigins (#6904) 2025-12-23 06:09:15 +00:00
TaesuandGitHub ae90b482d0 fix: correct wildcard pattern matching for trustedOrigins (#6904) 2025-12-23 14:08:58 +08:00
Dhruv Jainandgithub-actions[bot] 29536bbf18 docs: fix mongodb page join link (#6941) 2025-12-23 04:53:02 +00:00
Dhruv JainandGitHub a0580b78fe docs: fix mongodb page join link (#6941) 2025-12-22 20:52:45 -08:00
d0andgithub-actions[bot] 8637e11826 docs: add stargate to community plugins list (#6846) 2025-12-23 04:41:45 +00:00
d0andGitHub bf71de5f0b docs: add stargate to community plugins list (#6846) 2025-12-23 12:41:31 +08:00
Dylan Vanmaliandgithub-actions[bot] f1b90e4085 feat(oauth-provider): an oauth 2.1 compliant plugin (#4163)
An upgrade to oidc-provider plugin that makes it oauth2.1 compliant and has a configuration that is secure by default.

Plans for the deprecation of oidc-provider plugin due to many inherent flaws in its design. Internally, plugin functions now share logic, providing for better future extensibility if new code_grants need to be written or user/client jwt or opaque tokens need to be written. Furthermore, as an oAuth 2.1 provider, it provides logic valid for an MCP server. When using the scope "openid" (optional, enabled by default), the server acts like an OpenId server able to issue id tokens and provides a /userinfo endpoint.

Features

OAuth 2.1 by default
Properly supports authorization_code, refresh_token, and client_credentials grants
PKCE by default (removes plain completely)
Public and confidential client registration
JWT plugin is required by default, but can be disabled using disableJWTPlugin flag
Access tokens can now be received in JWT verifiable format using the resource parameter (ie JWT aud field)
Id tokens are still verifiable by JWKS when using JWT Plugin, or clientSecret if disabled. Fixes issue to prevent public clients when disableJWTPlugin: true from obtaining id tokens directly even when they shouldn't be allowed an id token and should use /userinfo instead.
Protects /userinfo with scope check
Separates Refresh Token and Access token on database schema to allow multiple access tokens per refresh and multiple refresh tokens per login session.
oauthAccessToken strictly deals with opaque tokens
Opaque tokens are given only when resource parameter (aka audience) is not provided
Option to Encode and Decode refresh tokens
allowDynamicClientRegistration with allowUnauthenticatedClientRegistration flags
Separation of default expiration times
Proper creation of public and confidential clients
Prevents misconfiguration between .well-known/openid-configuration endpoint and plugin settings
scopeExpirations to assign scopes specific expiration
Custom claims through separated functions: customAccessTokenClaims, customIdTokenClaims, and customUserInfoClaims
Organizational support through activeOrganizationalId on a session such as through the organizational plugin. Attaches to oAuthClient via reference_id.
Rp-initiated logout
Account Selection via prompt=select_account.
Account Creation via prompt=create.
Prompt combinations prompt=select_account+consent and prompt=login+consent

Docs available at https://www.better-auth.com/docs/plugins/oauth-provider (pr: https://github.com/better-auth/better-auth/blob/main/docs/content/docs/plugins/oauth-provider.mdx)
2025-12-22 19:16:54 +00:00