Commit Graph

754 Commits

Author SHA1 Message Date
Alex Yang
244e4142f7 chore: release v1.5.0-beta.5 2026-01-12 12:11:24 -08:00
Alex Yang
7ab73b1c08 refactor(core): split utils into small files (#7288) 2026-01-12 10:57:51 -08:00
Alex Yang
23ac747b72 chore: release v1.5.0-beta.4 2026-01-12 02:47:34 -08:00
Wonsuk Choi
b35a860af8 chore: add --coverage.provider=istanbul to coverage script (#7262) 2026-01-11 10:55:54 -08:00
Alex Yang
ec50ee27b4 chore: release v1.5.0-beta.3 2026-01-10 02:10:36 -08:00
Taesu
a84918e98e chore(cli): bump drizzle-orm (#7172) 2026-01-08 12:10:23 +09:00
Alex Yang
a17468438d docs: build regression after format (#7110) 2026-01-04 01:28:36 +08:00
Alex Yang
8b01d6abac chore: format markdown (#7103) 2026-01-03 16:55:39 +08:00
Max
4588fb4d84 chore(cli): export schema generators via /api subpath (#7082)
Co-authored-by: Alex Yang <himself65@outlook.com>
2026-01-02 15:43:28 +08:00
Alex Yang
59fac14aed chore: release v1.5.0-beta.2 2025-12-31 21:06:57 +08:00
Alex Yang
58b5d51ee1 docs: fix mcp config name (#7067) 2025-12-31 00:59:03 +08:00
Alex Yang
ebb889ff84 chore: move @better-auth/utils to catalog (#6981) 2025-12-24 21:38:06 +08:00
Alex Yang
41cb291b8c chore: release v1.5.0-beta.1 2025-12-23 23:56:13 +08:00
Alex Yang
5471295282 fix(cli): cmd info --json unexpected exit with 1 (#6949) 2025-12-23 18:39:55 +08:00
Bereket Engida
9d784407ca chore: release v1.4.8-beta.7 2025-12-22 11:40:01 -08:00
Dylan Vanmali
686fba4e11 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 11:16:42 -08:00
Alex Yang
ed258bc5d6 chore: release v1.4.8-beta.6 2025-12-22 13:40:14 +08:00
Bereket Engida
803459d9bb chore: release v1.4.8-beta.4 2025-12-19 14:52:04 -08:00
Bereket Engida
39718e6c1d chore: release v1.4.8-beta.3 2025-12-19 09:09:24 -08:00
Alex Yang
307acc9155 chore: release v1.4.8-beta.2 2025-12-19 16:53:21 +08:00
Alex Yang
a345badd73 chore: release v1.4.8-beta.1 2025-12-19 01:16:42 +08:00
Alex Yang
c091391d0b chore(db): remove deprecated types (#6793) 2025-12-17 16:18:54 +08:00
Bereket Engida
fd3460fadb chore: release v1.4.7 2025-12-13 22:47:53 -08:00
Bereket Engida
09d3222a2b chore: release v1.4.7-beta.4 2025-12-12 08:40:12 -08:00
Bereket Engida
3545c6a4ab chore: release v1.4.7-beta.3 2025-12-11 16:14:56 -08:00
Bereket Engida
4a3b391249 Revert "chore: independent pkg bumping (#6628)"
This reverts commit ce17ac2616.
2025-12-11 16:14:42 -08:00
Dylan Vanmali
ce17ac2616 chore: independent pkg bumping (#6628) 2025-12-10 16:23:17 -08:00
Bereket Engida
b1a23dc0fc chore: release v1.4.7-beta.2 2025-12-10 11:42:15 -08:00
Bereket Engida
dbb8f5e959 chore: release v1.4.7-beta.1 2025-12-10 07:27:22 -08:00
Bereket Engida
e2c4f8ea6e chore: release v1.4.6 2025-12-10 07:27:01 -08:00
Jonathan Samines
c55603ddc9 chore: add types linter (#6648) 2025-12-10 11:53:19 +09:00
Jonathan Samines
9233783428 chore: remove unused variables (#6647) 2025-12-09 13:51:35 -08:00
Bereket Engida
57ca9e4cc6 chore: release v1.4.6-beta.4 2025-12-08 16:42:52 -08:00
Maxwell
9d3d1d4c61 fix: array field handling across adapters and schema generation (#6601)
Co-authored-by: Bereket Engida <86073083+Bekacru@users.noreply.github.com>
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2025-12-08 15:50:52 -08:00
Jonathan Samines
23e2edb6fc chore: configure code coverage for project (#6339)
Co-authored-by: Taesu <166604494+bytaesu@users.noreply.github.com>
2025-12-08 12:49:53 -08:00
Alex Yang
3c6bed53c6 chore: update repository URLs in package.json (#6561) 2025-12-06 18:22:05 +09:00
Maxwell
5ce4d098fa fix(cli): deduplicate drizzle schema relationships (#6547) 2025-12-05 17:07:59 -08:00
Jonathan Samines
5436b95ada chore: remove unused exports and export types (#6513) 2025-12-04 22:30:15 -08:00
Bereket Engida
5327886f13 chore: release v1.4.6-beta.3 2025-12-04 18:57:19 -08:00
Alex Yang
47044905d4 chore(cli): reduce better-auth imports (#6507) 2025-12-03 21:17:46 -08:00
Alex Yang
ed68935e5d refactor: move capitalizeFirstLetter to core (#6506) 2025-12-03 15:21:03 -08:00
Alex Yang
04ccc5e0e7 chore: cleanup prisma deps (#6505) 2025-12-03 14:50:17 -08:00
Alex Yang
dd2545d634 fix(cli): secret generates empty (#6504) 2025-12-03 13:40:32 -08:00
Alex Yang
dba28cd231 chore: release v1.4.6-beta.2 2025-12-02 15:57:36 -08:00
Alex Yang
d8589776bd chore: release v1.4.6-beta.1 2025-12-02 15:53:53 -08:00
Alex Yang
df7718558f chore: release v1.4.5-beta.2 2025-12-02 15:47:05 -08:00
Alex Yang
c666670fbe chore: release v1.4.5-beta.1 2025-12-02 11:29:32 -08:00
Alex Yang
123bdee671 fix(cli): compatibility for Prisma v7 in schema generation (#6459) 2025-12-02 11:27:36 -08:00
Bereket Engida
189dedd006 chore: release v1.4.4-beta.3 2025-12-02 10:10:51 -08:00
Bereket Engida
6269a332dd chore: release v1.4.4-beta.2 2025-12-02 10:10:47 -08:00