Commit Graph
136 Commits
Author SHA1 Message Date
Alex YangandGitHub 1668a33372 fix: /minimal includes unexpected deps (#7467) 2026-01-19 20:32:29 +00:00
c200e8292b chore: fix opencode tag and MCP command structure (#7451)
Co-authored-by: Bereket Engida <Bekacru@gmail.com>
2026-01-17 20:15:00 -08:00
Alex YangandGitHub 531b9d56a5 chore: add lint rule useConst (#7369) 2026-01-14 14:18:18 -08:00
Alex YangandGitHub 983c8d20d1 chore: fix lint warnings (#7336) 2026-01-13 11:54:10 -08:00
Paola Estefanía de CamposandGitHub 25dfcff66c feat(mcp): add setup_auth tool (#7307) 2026-01-13 11:05:39 -08:00
Alex YangandGitHub 7ab73b1c08 refactor(core): split utils into small files (#7288) 2026-01-12 10:57:51 -08:00
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 YangandGitHub 58b5d51ee1 docs: fix mcp config name (#7067) 2025-12-31 00:59:03 +08:00
Alex YangandGitHub 5471295282 fix(cli): cmd info --json unexpected exit with 1 (#6949) 2025-12-23 18:39:55 +08:00
Dylan VanmaliandGitHub 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 YangandGitHub c091391d0b chore(db): remove deprecated types (#6793) 2025-12-17 16:18:54 +08:00
Jonathan SaminesandGitHub 9233783428 chore: remove unused variables (#6647) 2025-12-09 13:51:35 -08:00
MaxwellGitHubBereket Engidacubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
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
MaxwellandGitHub 5ce4d098fa fix(cli): deduplicate drizzle schema relationships (#6547) 2025-12-05 17:07:59 -08:00
Jonathan SaminesandGitHub 5436b95ada chore: remove unused exports and export types (#6513) 2025-12-04 22:30:15 -08:00
Alex YangandGitHub 47044905d4 chore(cli): reduce better-auth imports (#6507) 2025-12-03 21:17:46 -08:00
Alex YangandGitHub ed68935e5d refactor: move capitalizeFirstLetter to core (#6506) 2025-12-03 15:21:03 -08:00
Alex YangandGitHub dd2545d634 fix(cli): secret generates empty (#6504) 2025-12-03 13:40:32 -08:00
Alex YangandGitHub 123bdee671 fix(cli): compatibility for Prisma v7 in schema generation (#6459) 2025-12-02 11:27:36 -08:00
Alex YangandGitHub 5cbe0a58e7 chore: enforce imports to use node: protocol (#6461) 2025-12-01 16:08:32 -08:00
Jonathan SaminesandGitHub fbe51c8f93 chore: add spell checker (#6319) 2025-12-01 10:33:38 -08:00
KinfeMichael TarikuandGitHub 39eb685200 fix: improve error handling for unsupported additionalFields on generate (#3977) 2025-11-29 22:27:45 -08:00
Neeraj DalalandGitHub 7cfc0c2597 chore(extend): cli utils get-config possible paths (#6300) 2025-11-26 08:25:21 +00:00
MaxwellandGitHub 519efddef2 feat(cli): check /auth for auth.ts (#6273) 2025-11-24 11:49:11 -08:00
rovertrackandGitHub 183d38af00 fix(cli): prevent duplicate index creation in Prisma schema generation (#6234) 2025-11-23 19:27:07 -08:00
dc2f56985f chore(fix): usePlural should work wtith joins (#6132)
Co-authored-by: Bereket Engida <Bekacru@gmail.com>
2025-11-21 18:12:35 +00:00
Jonathan SaminesandGitHub 57ee11a26f chore(lint): enforce consistent import type style (#6044) 2025-11-17 21:11:39 +00:00
MaxwellandGitHub f5bbb96d4e feat: adapter join support (#5730) 2025-11-15 16:55:50 +00:00
MaxwellandGitHub b39273a94f fix: use identity instead of serial for pg schema (#5943) 2025-11-13 01:15:39 +00:00
rovertrackGitHubcubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
09162d3d12 feat(prisma): enhance JSON default value handling for arrays and objects in schema generation (#5904)
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2025-11-11 18:21:03 +00:00
MaxwellandGitHub 705f7434c7 fix: treat generateId "serial" as numeric ID and correct UUID column types across adapters (#5823) 2025-11-11 18:04:24 +00:00
af6ebfe879 feat: auto-index CLI (#5357)
Co-authored-by: Bereket Engida <Bekacru@gmail.com>
2025-11-10 14:12:48 -08:00
TaesuandGitHub f327e336c8 refactor: split the passkey plugin into a separate package (#5769) 2025-11-05 17:05:39 +00:00
Christian Bager Bach HoumannandGitHub cf050967e5 feat(cli): support Cloudflare Workers virtual module imports (#5559) 2025-10-28 03:15:04 +00:00
Alex YangandGitHub 938c2a7c31 chore: lint enable organize import (#5556) 2025-10-24 19:05:09 +00:00
Eniola OsabiyaandGitHub 03fbf937db fix(drizzle): replace pgEnum with text enum type in Drizzle schema generation (#5408) 2025-10-19 01:29:51 +00:00
Alex YangandGitHub f0957337e3 chore(cli): improve type (#5374) 2025-10-17 20:32:00 +00:00
Alex YangandGitHub 717d12f230 chore: remove deprecated sso plugin from better-auth (#5332) 2025-10-15 18:07:02 +00:00
Alex YangandGitHub fd780aca6b feat: enum support for drizzle schema (#5287) 2025-10-13 23:56:39 +00:00
MaxwellandGitHub 4b136408ab fix(adapter): missing data type transformation on where clauses (#5158) 2025-10-12 04:12:33 +00:00
70cb434f12 feat(cli): add mcp client configs from cli (#4872)
Co-authored-by: Alex Yang <himself65@outlook.com>
2025-09-30 13:41:51 -07:00
MaxwellandAlex Yang 0a1df9e43f chore: fix adapter tests (#4844) 2025-09-30 10:14:23 -07:00
zy1pandAlex Yang 981458338d fix(cli): timestamp in schema for Drizzle with SQLite (#4622) 2025-09-29 19:34:08 -07:00
Alex YangandGitHub 30fa5fc0d2 refactor: move db schema to core (#4918) 2025-09-26 08:11:10 +00:00
Alex YangandGitHub 831dd1d64e fix(cli): defaultNow is deprecated in schema for Drizzle with SQLite (#4889) 2025-09-25 22:33:03 +00:00
20e87a2e1c fix(cli): add missing JSON type to schema generation (#4494)
Co-authored-by: KinfeMichael Tariku <65047246+Kinfe123@users.noreply.github.com>
2025-09-14 13:27:13 -07:00
YurinandGitHub 80b733d513 fix(prisma): handle optional field relation types correctly (#4630) 2025-09-13 19:11:51 +00:00
AajeethandGitHub 589634d475 fix: correct MongoDB adapter import path in CLI (#4602) 2025-09-12 23:36:44 +00:00
Alex YangandGitHub 7faaeac9fc fix(cli): info shows the correct version (#4547) 2025-09-09 13:46:19 -07:00
Phips PeterandGitHub f2c9df4811 feat(sqlite): remove autoincrement for SQLite (#4466) 2025-09-08 17:23:00 -07:00