Commit Graph
2326 Commits
Author SHA1 Message Date
d0andGitHub bf71de5f0b docs: add stargate to community plugins list (#6846) 2025-12-23 12:41:31 +08:00
TaesuandGitHub 2bf224cad8 docs: correct OAuth Provider sidebar icon color (#6935) 2025-12-23 11:08:36 +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
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
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
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
Alex YangandGitHub e1dfdc3c27 chore(docs): bump tailwindcss (#6896) 2025-12-20 15:18:09 +08:00
vijit-larkandGitHub cfb56fdab4 docs: add community plugin Lark billing (#6813) 2025-12-19 18:06:23 -08:00
Mauricio GalvezandGitHub becb4e96ee docs: fix typo in Organization plugin docs (#6885) 2025-12-19 16:41:04 -08:00
Paola Estefanía de CamposandGitHub 65193cb56d doc(auth): clarify trustedOrigins callback request parameter (#6890) 2025-12-19 16:40:37 -08:00
Paola Estefanía de CamposandGitHub 19d2b3a990 fix(auth): respect trustedOrigins when baseURL is inferred (#6882) 2025-12-19 09:08:37 -08:00
TaesuandGitHub e9cd882f1f docs: use dotenv instead of env (#6883) 2025-12-19 09:03:46 -08:00
Alex Yang 373a1c658a docs: fix twitter id 2025-12-19 22:25:00 +08:00
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
TaesuandGitHub 8a67c2be76 chore: remove unnecessary custom word (#6825) 2025-12-18 21:57:23 -08:00
Soham DattaandGitHub 519bdb1014 docs(convex): fix import statement for authConfig (#6861) 2025-12-19 13:27:53 +08:00
TaesuandGitHub 9ffaa0f628 docs: fix AI chat code formatting issue (#6869) 2025-12-19 13:26:44 +08:00
TaesuandGitHub d3ebfacd91 fix: respect IP headers in dev/test environments (#6854) 2025-12-18 20:25:10 +08:00
Bennett DamsandGitHub 3897be5603 docs: change role type from string to enum values (#6844) 2025-12-18 14:23:57 +08:00
Dominik K.andGitHub e973bd95be docs(convex): clean up documentation (#6829) 2025-12-18 10:27:36 +08:00
Dominik K.andGitHub 9bf9ad88b5 docs(polar): update client import (#6830) 2025-12-18 10:26:43 +08:00
TaesuandGitHub 9952a78bbf docs: update logo for Christmas (#6806) 2025-12-17 17:14:07 -08:00
AnmolandGitHub 0227dde8ec docs: uses latest getRequestHeaders() to grab headers from request in Auth Middleware in Tanstack Start (#6824) 2025-12-17 13:20:38 -08:00
07cdd67dae feat: add patreon social provider (#6245)
Co-authored-by: benkingcode <ben@lionfeet.com>
Co-authored-by: Kinfe123 <kinfishtech@gmail.com>
2025-12-17 11:57:00 +08:00
Paola Estefanía de CamposandGitHub 2053f22bbf feat(saml): enforce one-time use of SAML assertions (#6719) 2025-12-16 17:32:19 -08:00
Shawn ErquhartandGitHub da103d92a0 docs(convex): update guide for Convex component 0.10 (#6811) 2025-12-16 16:36:05 -08:00
Paola Estefanía de CamposandGitHub b56d7b8eaa feat(saml): validate SAML crypto algorithms during initial phase (#6785) 2025-12-15 14:40:08 -08:00
Joél SolanoandGitHub dc6715f91f docs: fix overflowing code elements (#6748) 2025-12-14 08:11:39 -08:00
Brian CooperandGitHub 6da61bba77 docs: restrict SIWE example nonce generation characters (#6741) 2025-12-13 22:56:41 -08:00
Gaga86andGitHub cce3456c1c docs: updated the accountInfo server side example (#6692) 2025-12-14 14:29:37 +09:00
Joél SolanoandGitHub ef952e5739 docs(expo): fix code examples (#6731) 2025-12-14 14:28:21 +09:00
a91c021d40 docs(oidc-provider): fix incorrect redirectURLs property name (#6734)
Co-authored-by: Gautam Manchandani <gautammanch@Gautams-MacBook-Air.local>
2025-12-14 14:14:38 +09:00
Joél SolanoandGitHub a55a8a57f5 docs: add rss feed (#6733) 2025-12-14 11:31:49 +09:00
Bereket EngidaandGitHub 4cdf869c67 feat(phone-number): add password length validation for reset functionality (#6674) 2025-12-13 15:51:03 -08:00
TaesuandGitHub 184f378ef3 chore: bump react and next (#6707) 2025-12-13 20:31:46 +09:00
TaesuandGitHub 4439b52d66 docs: correct codeblock title (#6708) 2025-12-12 18:44:10 -08:00
MaxwellandGitHub 8c44d852fa docs(organization): add missing organizationRole schema (#6714) 2025-12-12 09:45:45 -08:00
17ff1a01e3 feat(sso): add URL normalization and validation to all discovery URLs (#6503)
Co-authored-by: Paola Estefanía de Campos <paolaestefania.decampos@gmail.com>
Co-authored-by: Paola Estefanía de Campos <84341268+Paola3stefania@users.noreply.github.com>
Co-authored-by: Bereket Engida <Bekacru@gmail.com>
Co-authored-by: Bereket Engida <86073083+Bekacru@users.noreply.github.com>
2025-12-12 09:18:16 -08:00
Paola Estefanía de CamposandGitHub 90c597a9d2 feat(saml): assertion timestamp validation with per-provider clock skew (#6706) 2025-12-11 23:01:49 -08:00
57400bf2a0 feat(sso): add OIDC discovery (#6395)
Co-authored-by: Bereket Engida <Bekacru@gmail.com>
Co-authored-by: Bereket Engida <86073083+Bekacru@users.noreply.github.com>
2025-12-11 17:46:55 -08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
f9991baccb chore(deps): bump next from 16.0.7 to 16.0.9 (#6702)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-12 10:09:54 +09:00
Paola Estefanía de CamposandGitHub 50ffecbfad feat(sso): add InResponseTo validation (#6557) 2025-12-11 15:57:00 -08:00
SaviruandGitHub 97bfdcb345 docs: add Argon2 password hashing example (#6688) 2025-12-11 15:45:53 +09:00
TaesuandGitHub 461ff3c9db docs: use actual logo colors for migration guide section (#6676) 2025-12-11 11:10:04 +09:00
Jonathan SaminesandGitHub 9233783428 chore: remove unused variables (#6647) 2025-12-09 13:51:35 -08:00
Jonathan SaminesandGitHub 5f89bfa076 docs(sso): fix default sso docs (#6640) 2025-12-09 09:42:50 -08:00
Gabriel FerrazandGitHub b7b360aaf8 docs: creem subscription database schema changes (#6375) 2025-12-08 21:56:36 -08:00
CryzeandGitHub d3646df329 docs: correct typo in backup code recovery method description (#6374) 2025-12-08 21:56:25 -08:00
Bereket Engida e26fc6fc29 Revert "feat(multi-session): allow to infer additional fields (#6585)"
This reverts commit 137863c5b2.
2025-12-08 16:45:49 -08:00
381f25fb5c feat(expo): last-login-method client plugin (#6413)
Co-authored-by: Alex Yang <himself65@outlook.com>
2025-12-08 16:24:56 -08:00