Commit Graph
167 Commits
Author SHA1 Message Date
Gautam ManchandaniandGitHub 15bb1690b2 feat(cli): add create-admin command (#9547) 2026-05-12 10:30:04 +00:00
Taesu 2b83087180 chore: sync main to next 2026-05-10 03:45:29 +09:00
Pooya ParsaandGitHub 12a4128494 refactor(cli): leverage c12 v4 resolveModule for auth config loading (#9477) 2026-05-07 13:56:37 -07:00
e44427b373 fix(cli): emit working Kysely init configs (#9455)
Co-authored-by: Maxwell <145994855+ping-maxwell@users.noreply.github.com>
2026-05-06 17:45:32 +00:00
Gustavo ValverdeandGitHub c7d22539ec refactor(generic-oauth)!: rewrite as first-class social provider with RFC compliance (#9069) 2026-04-13 12:02:16 +00:00
Gustavo Valverde 28ccc8cda9 chore: resolve main-to-next sync conflicts
Conflicts resolved:
- docs/content/docs/plugins/2fa.mdx: kept next's OTP feature, applied main's exported const pattern
- docs/content/docs/plugins/oauth-provider.mdx: kept main's formatting, added back private_key_jwt docs
- docs/content/docs/plugins/sso.mdx: kept next's version with private_key_jwt and SAML options
- packages/sso/src/routes/sso.ts: kept next's version (has security fixes and private_key_jwt)
2026-04-10 19:11:05 +01:00
TaesuandGitHub 4673c6d83c fix(cli): handle extends and mid-path wildcards in tsconfig paths (#9032) 2026-04-10 16:26:53 +00:00
Gustavo ValverdeandGitHub 544f1c63c9 feat(two-factor)!: add OTP enablement and discriminated response (#9057) 2026-04-10 14:23:20 +00:00
Gustavo ValverdeandGitHub e089ce127d chore(knip): fix CI blind spots and remove dead code (#8888) 2026-04-02 19:28:30 +00:00
d0b62a0cd8 feat(cli): migrate MCP server URL to mcp.better-auth.com (#8747)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-23 17:30:04 -07:00
Bereket EngidaGitHubcubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
5648bd8680 feat: agent auth plugin (#8696)
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2026-03-19 12:18:34 -07:00
TaesuandGitHub b00692d4ea fix(cli): treat omitted required as true in Drizzle and Prisma generators (#8614) 2026-03-16 17:12:48 +00:00
Alex YangandGitHub b5e2203f14 fix(cli): resolve path aliases from extended tsconfig files (#8520) 2026-03-09 18:03:46 +00:00
5e0fe841dd chore: migrate infrastructure links to dash.better-auth.com (#8391)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-04 18:02:34 -08:00
Alex YangandGitHub b73b0440a2 chore: align zod imports to use namespace import from "zod" (#8300) 2026-03-02 20:37:38 +00:00
Bereket EngidaandAlex Yang 58c71273b0 feat(blog): add draft support for blog posts and update image URLs 2026-03-01 16:40:08 +09:00
MaxwellGitHubcubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>Bereket Engida
3485e5e96c feat(cli): generate schema from adapter CLI flag (#7316)
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
Co-authored-by: Bereket Engida <86073083+Bekacru@users.noreply.github.com>
2026-02-28 15:38:12 -08:00
Alex YangandGitHub 00b543ac06 feat(cli): add upgrade command to update better-auth packages (#8204) 2026-02-28 02:35:35 +00:00
f77c391393 chore: bump prisma to v7 (#8166)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 02:24:32 +00:00
07e7b5a18f chore(cli): use beta url for pre-release and resolve open import (#7997)
Co-authored-by: Ghost <ghost@better-github.app>
2026-02-20 05:02:12 -08:00
Bereket Engida d79c0db73b Revert "feat(cli): use vite to load auth config when we detect a vite project"
This reverts commit 22d238b4bf.
2026-02-19 23:41:28 -08:00
Bereket Engida 22d238b4bf feat(cli): use vite to load auth config when we detect a vite project 2026-02-19 23:18:09 -08:00
Joél SolanoandGitHub cf8322707c feat: auth cli (#7964) 2026-02-15 07:44:50 +00:00
Alex YangandGitHub 3b2b9834c5 fix(cli): add .env.local to dotenv (#7831) 2026-02-07 00:14:55 +00:00
SaviruGitHubAlex YangPaola Estefanía de CamposTim Kellerclaude[bot] <41898282+claude[bot]@users.noreply.github.com>Alex YangTaesucopilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
5c6ccfa688 docs: update to React Router v7 and improve docs (#7457)
Co-authored-by: Alex Yang <himself65@outlook.com>
Co-authored-by: Paola Estefanía de Campos <84341268+Paola3stefania@users.noreply.github.com>
Co-authored-by: Tim Keller <36288711+tjkeller-xyz@users.noreply.github.com>
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Alex Yang <himself65@users.noreply.github.com>
Co-authored-by: Taesu <166604494+bytaesu@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-02-05 18:46:34 +00:00
Dylan VanmaliandGitHub ed68d3d3c9 feat: awaitable social provider config (#4829) 2026-02-04 21:56:28 +00:00
Alex YangandGitHub 1251787f72 feat: remove deprecated API (#7623) 2026-01-28 01:49:50 +00:00
jyc.devandGitHub b7d50de695 fix: check jsconfig.json in getPathAliases (#7650) 2026-01-28 00:56:38 +00:00
Paola Estefanía de CamposandGitHub b3cce69ad1 fix(cli): update MCP URL from Chonkie to Inkeep (#7585) 2026-01-26 17:18:38 +00:00
Paola Estefanía de CamposandGitHub 041dc17b2a fix(mcp): remove local mpc (#7574) 2026-01-23 18:04:12 +00:00
Bereket EngidaandGitHub 8318640286 fix(cli): use inkeep remote mcp url (#7543) 2026-01-22 19:11:46 +00:00
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