Commit Graph

1530 Commits

Author SHA1 Message Date
Taesu
0f519fbfea docs: improve community plugins page (#7031) 2025-12-31 21:36:19 +08:00
Taesu
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
Taesu
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 Solano
b2d2ea9399 docs(api-key): correct table name in schema section (#6856) 2025-12-26 14:46:49 +08:00
Alex Yang
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 DUPUIS
f92d46dfd0 docs: fix RequestInit body typing for exactOptionalPropertyTypes (#6852) 2025-12-26 14:46:49 +08:00
Dylan Vanmali
ed73775ec8 docs: improve oauth provider setup instructions (#6968) 2025-12-26 14:46:49 +08:00
Dylan Vanmali
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 Asomba
34e7e50efd docs: add Paystack plugin to community plugins list (#6782) 2025-12-23 23:38:51 +08:00
Alexander Asomba
75d13a0414 docs: add Paystack plugin to community plugins list (#6782) 2025-12-23 23:38:29 +08:00
Alex Yang
285f0527a2 docs: update plugin schema definition (#6951)
Co-authored-by: Mikiyas Tibebu <mikitebe123@gmail.com>
2025-12-23 11:00:18 +00:00
Alex Yang
38b24f6ad3 docs: update plugin schema definition (#6951)
Co-authored-by: Mikiyas Tibebu <mikitebe123@gmail.com>
2025-12-23 19:00:03 +08:00
Salih Candir
088e753ff0 docs: update file naming example in Next.js integration guide (#6948) 2025-12-23 10:44:33 +00:00
Salih Candir
66a6c804f1 docs: update file naming example in Next.js integration guide (#6948) 2025-12-23 18:44:19 +08:00
Paola Estefanía de Campos
5bab61c32c feat(saml): reject deprecated SAML signature and digest algorithms (#6784) 2025-12-23 09:41:24 +00:00
Paola Estefanía de Campos
1f171cb3fd feat(saml): reject deprecated SAML signature and digest algorithms (#6784) 2025-12-23 17:39:24 +08:00
Decker
d067a83113 docs: add Commet plugin documentation (#6827)
Co-authored-by: Alex Yang <himself65@outlook.com>
2025-12-23 09:39:18 +00:00
Decker
0ca1431fc6 docs: add Commet plugin documentation (#6827)
Co-authored-by: Alex Yang <himself65@outlook.com>
2025-12-23 17:39:03 +08:00
Taesu
5c2180e967 fix: correct wildcard pattern matching for trustedOrigins (#6904) 2025-12-23 06:09:15 +00:00
Taesu
ae90b482d0 fix: correct wildcard pattern matching for trustedOrigins (#6904) 2025-12-23 14:08:58 +08:00
Dhruv Jain
29536bbf18 docs: fix mongodb page join link (#6941) 2025-12-23 04:53:02 +00:00
Dhruv Jain
a0580b78fe docs: fix mongodb page join link (#6941) 2025-12-22 20:52:45 -08:00
d0
8637e11826 docs: add stargate to community plugins list (#6846) 2025-12-23 04:41:45 +00:00
d0
bf71de5f0b docs: add stargate to community plugins list (#6846) 2025-12-23 12:41:31 +08:00
Dylan Vanmali
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
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
Shoubhit Dash
3e28ee00ea feat: add a global backgroundTasks config option to defer actions like sending email and updates to run after response is sent (#6713)
Co-authored-by: Bereket Engida <86073083+Bekacru@users.noreply.github.com>
Co-authored-by: Bereket Engida <Bekacru@gmail.com>
2025-12-20 19:43:16 +00:00
Shoubhit Dash
d544ba97f9 feat: add a global backgroundTasks config option to defer actions like sending email and updates to run after response is sent (#6713)
Co-authored-by: Bereket Engida <86073083+Bekacru@users.noreply.github.com>
Co-authored-by: Bereket Engida <Bekacru@gmail.com>
2025-12-20 11:43:03 -08:00
Bereket Engida
14414c67a8 docs(organization): update default organization limit to 'unlimited' (#6808)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-20 15:38:26 +00:00
Bereket Engida
30dc04b12f docs(organization): update default organization limit to 'unlimited' (#6808)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-20 07:38:11 -08:00
Alex Yang
999a830b6f docs: clarify username sign-in functionality in documentation (#6901)
Co-authored-by: Jilles Soeters <jilleswf@gmail.com>
2025-12-20 08:17:18 +00:00
Alex Yang
6743a7a84b docs: clarify username sign-in functionality in documentation (#6901)
Co-authored-by: Jilles Soeters <jilleswf@gmail.com>
2025-12-20 16:17:04 +08:00
vijit-lark
92e8eca03d docs: add community plugin Lark billing (#6813) 2025-12-20 02:06:36 +00:00
vijit-lark
cfb56fdab4 docs: add community plugin Lark billing (#6813) 2025-12-19 18:06:23 -08:00
Mauricio Galvez
bf6b225e7c docs: fix typo in Organization plugin docs (#6885) 2025-12-20 00:41:21 +00:00
Mauricio Galvez
becb4e96ee docs: fix typo in Organization plugin docs (#6885) 2025-12-19 16:41:04 -08:00
Paola Estefanía de Campos
f58d9b98c9 doc(auth): clarify trustedOrigins callback request parameter (#6890) 2025-12-20 00:40:52 +00:00
Paola Estefanía de Campos
65193cb56d doc(auth): clarify trustedOrigins callback request parameter (#6890) 2025-12-19 16:40:37 -08:00
Paola Estefanía de Campos
ac00442f5c fix(auth): respect trustedOrigins when baseURL is inferred (#6882) 2025-12-19 17:08:50 +00:00
Paola Estefanía de Campos
19d2b3a990 fix(auth): respect trustedOrigins when baseURL is inferred (#6882) 2025-12-19 09:08:37 -08:00
Taesu
1a2c570cbe docs: use dotenv instead of env (#6883) 2025-12-19 17:04:04 +00:00
Taesu
e9cd882f1f docs: use dotenv instead of env (#6883) 2025-12-19 09:03:46 -08:00
Gautam Manchandani
8f22ecfd04 docs: add baseURL configuration warning to Google provider (#6878)
Co-authored-by: Gautam Manchandani <gautammanch@Gautams-MacBook-Air.local>
2025-12-19 12:00:27 +00:00
Gautam Manchandani
4981827262 docs: add baseURL configuration warning to Google provider (#6878)
Co-authored-by: Gautam Manchandani <gautammanch@Gautams-MacBook-Air.local>
2025-12-19 20:00:13 +08:00
Taesu
000b3db728 chore: remove unnecessary custom word (#6825) 2025-12-19 05:57:35 +00:00
Taesu
8a67c2be76 chore: remove unnecessary custom word (#6825) 2025-12-18 21:57:23 -08:00