Commit Graph

1014 Commits

Author SHA1 Message Date
Abdulrahman
cce6c2d74f docs(feat): added apple sign in JWT generation in docs (#2453)
* docs: Add guide for Sign In with Apple

* docs-feat: add apple JWT generator

* fix-lint: ran lint:fix to fix CI test

* chore: refactor to remove jose

* update docs

* chore: lock file

* fix test

---------

Co-authored-by: Bereket Engida <Bekacru@gmail.com>
2025-07-07 17:21:10 -07:00
Bereket Engida
e9a9e81868 ear:werge branch 'main' into v1.3 2025-07-07 13:05:45 -07:00
Bereket Engida
e3a450e70e feat(email-otp): support email verification override (#3292)
* feat(email-otp): allow overriding the default email verifier with email otp

* update docs

* cleanup
2025-07-07 10:41:28 -07:00
Maxwell
00d1e938c0 feat: Add encryption for OTPs and other verification information (#3164)
* add: email-otp plugin hashing or encrypting

* add: one-time-token hashing

* chore: cleanup

* add: magic link hashing

* add: two-factor

* chore: typo

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

* remove type from email otp hasher and encryptor

* chore: lint

* chore: fix types

* fix: types & test failing

* chore: lint

* chore: remove console.log

* refactor: remove if block awaits

* refactor: simplify OTP comparison

---------

Co-authored-by: KinfeMichael Tariku <65047246+Kinfe123@users.noreply.github.com>
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
Co-authored-by: Bereket Engida <Bekacru@gmail.com>
2025-07-07 09:21:54 -07:00
jyc.dev
2de1cd27f6 docs(community-adapters): Remult (#3275)
* Adding @nerdfolio/remult-better-auth

* add some spaces
2025-07-06 09:42:43 -07:00
Bereket Engida
5b2f87535c Merge remote-tracking branch 'origin/main' into v1.3 2025-07-03 11:41:56 -07:00
Bereket Engida
50924a42d5 docs: update reach out email 2025-07-03 11:40:11 -07:00
Maxwell
54cce6531c docs(community-adapters): recommend the official convex version (#3232) 2025-07-03 11:40:11 -07:00
Maxwell
eea77a5020 fix(two-factor): incorrect default OTP period & fix incorrect docs (#3231)
* docs(2fa): fix incorrect period

* fix: default period is 3 minutes

* Update packages/better-auth/src/plugins/two-factor/index.ts

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

* chore: lint

---------

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2025-07-03 11:40:11 -07:00
Jed Patterson
6e291382fe feat: linear social provider (#2617)
* feature: linear oauth

* update profile map

* remove props spread from stringIcon

* update icon svg props

* updates

* update

---------

Co-authored-by: Kinfe123 <kinfishtech@gmail.com>
2025-07-03 11:36:18 -07:00
Mart van de Ven
fb303855ee docs: correct the number of fields required in the username migration (#3254) 2025-07-03 10:09:27 -07:00
George Gebbett
e24c859c64 docs: correct stripe capitalization (#3247) 2025-07-02 13:12:13 -07:00
Bereket Engida
f2bd3ba864 docs: update reach out email 2025-07-01 10:05:23 -07:00
Maxwell
6bbc86eb8a docs(community-adapters): recommend the official convex version (#3232) 2025-07-01 08:54:57 -07:00
Maxwell
6beac425dd fix(two-factor): incorrect default OTP period & fix incorrect docs (#3231)
* docs(2fa): fix incorrect period

* fix: default period is 3 minutes

* Update packages/better-auth/src/plugins/two-factor/index.ts

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

* chore: lint

---------

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2025-07-01 08:54:26 -07:00
Bereket Engida
002cacbf2a Merge remote-tracking branch 'origin/main' into v1.3 2025-06-27 22:57:26 -07:00
Maxwell
557793b183 docs(organization): update description for getActiveMember function (#2555)
Refined the description to clearly convey that the function retrieves member details of the active organization.
2025-06-27 22:55:23 -07:00
Bereket Engida
dff5eb651b docs: add installtion guide on sso plugin 2025-06-27 22:48:10 -07:00
Bereket Engida
a6a66d9c7e feat: SSO plugin with OIDC and SAML support (#3185)
* fix(email-verification): improve email verification logic to check session and user email consistency (#3042)

* docs(passkey): Fixed signIn passkey props (#3014)

callbackURL doesn't exist.

* fix(email-otp): auto-verify on email otp reset (#3022)

* fix: delete user should respect freshAge config (#3075)

* fix: delete user needs to enforced through fresh age

* cleanup

* cleanup

* chore(org): add comments explaining what shimContext does (#3098)

* feat: Allow passing `id` in DB hook `create` (#3048)

* feat(database-hooks): Allow passing `id` in DB hook `create`

It's the same to using a custom `idGenerator`, except configurable by the database hook which would in theory provide more data.

A use-case is to generate the id based on user info in the user before DB hook.

Solves https://discord.com/channels/1288403910284935179/1379190465588367540/1384217435535835216

* chore: lint

* fix: tests failing

* docs: basic errs with svg props (#3102)

* docs: corrected github user email scope name (#3099)

* docs: corrected github user email scope name

* docs: cubic dev suggestion

* fix: use correct refresh token endpoint for github (#3095)

* chore: fix typo in authorize comment (#3106)

* docs: fix session parameter spelling (#3108)

* docs: input field usage on additional fields (#2991)

* fix: onLinkAccount trigger on phone number verification (#3007)

* fix: expose headers override in jwt plugin (#3019)

* expose headers override in jwt plugin

* clean up

* lint

* fix(expo): remove duplicated trusted origins

* feat: link account with idToken  (#1830)

* add idToken to link account

* add docs

* Implemented linking accounts based on idToken

* fix: tests

* docs: prevent diff

* docs: prevent diff

---------

Co-authored-by: kzlar <120426485+kzlar@users.noreply.github.com>

* feat: add Hugging Face provider (#3089)

* feat: add huggingface provider

* Add hugging face to doc

* chore: update hugging face logo

* chore: release v1.2.10

* docs: fix builder failing to open

* docs(NextJS): Improve middleware example to be more secure (#3135)

* docs(NextJS): Improve middleware example to be more secure

Users can skim code without reading the text, and LLMs can read code and miss-understand context correctly.  Our current middleware example only checks for existence of a cookie, and doesn't validate it.

While we do warn users this isn't secure, some users has raised concern in a Github issue saying it's not obvious enough for users who skim.

Also we don't provide examples on how to authenticate users on each route, we only show middleware optimistic check examples.

* Update docs/content/docs/integrations/next.mdx

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

* fix(username): log the correct username (#3127)

* docs: fix typo in plugin (#3122)

* typo

* typo

* typo

* typo

* typo

* docs: fix typos on mcp guide (#3146)

* docs: update TanStack Start integration guide (#3142)

* fix(sveltekit): only dynamic import $app/environment once (#3152)

Co-authored-by: Work <work@Jasons-MacBook-Pro.local>

* docs: fix typo in oauth proxy documentation (#3151)

* blog: seed round announcement  (#3168)

* init

* cleanup

* fix seed round announcemnt

* fix seed round announcemnt

* seed round blog

* add nav mobile

* fix typo

* Update docs/content/blogs/seed-round.mdx

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

* Update docs/app/blog/[[...slug]]/page.tsx

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

* Update docs/app/blog/[[...slug]]/page.tsx

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

* update og

* cleanup

---------

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

* docs: fix email address

* refactor(mongo-adapter): migrate to createAdapter (#3170)

In the past we didn't have mongoDb adapter move over to createAdapter since we've seen users running into issues.

However some time ago I've merged a PR which I believe fixed the issue, and after testing the org plugin with the mongo adapter that uses `createAdapter` I don't see any issues.

* fix(api-key): update should only use by ID

* docs: fix blog page layout (#3176)

* fix/blog-page-layouts

* clean up

* docs: update contact email in seed round blog

* init

* cleanup

* feat(better-auth): add test utilities and update dependencies

- Introduced a new test utility module in `src/test-utils/index.ts` for better testing support.
- Updated `package.json` to include new test utilities in the build configuration.
- Added `oauth2-mock-server` dependency to `pnpm-lock.yaml` and `sso/package.json` for OAuth2 testing.
- Enhanced the SSO provider registration process with improved error handling.

* docs update

---------

Co-authored-by: Maxwell <145994855+ping-maxwell@users.noreply.github.com>
Co-authored-by: KinfeMichael Tariku <65047246+Kinfe123@users.noreply.github.com>
Co-authored-by: Undefined Ninja <74867549+0xCodeMaieutics@users.noreply.github.com>
Co-authored-by: artemoire <18062266+artemoire@users.noreply.github.com>
Co-authored-by: reslear <12596485+reslear@users.noreply.github.com>
Co-authored-by: kzlar <120426485+kzlar@users.noreply.github.com>
Co-authored-by: Eliott C. <coyotte508@protonmail.com>
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
Co-authored-by: Alessandro Bortolin <bortolin.alessandro@outlook.it>
Co-authored-by: Lakshya Thakur <lapstjup@gmail.com>
Co-authored-by: Usman S. (Max Programming) <51731966+max-programming@users.noreply.github.com>
Co-authored-by: Jason Venable <jason.venable@gmail.com>
Co-authored-by: Work <work@Jasons-MacBook-Pro.local>
Co-authored-by: Dan McGrath <daniel.mcgrath9@gmail.com>
2025-06-27 20:19:19 -07:00
Bereket Engida
e3ce89562d docs: update contact email in seed round blog 2025-06-26 16:45:31 -07:00
KinfeMichael Tariku
001565a0f9 docs: fix blog page layout (#3176)
* fix/blog-page-layouts

* clean up
2025-06-26 16:21:40 -04:00
Bereket Engida
76e186903e docs: fix email address 2025-06-25 12:46:48 -04:00
Bereket Engida
1d35c64e6b blog: seed round announcement (#3168)
* init

* cleanup

* fix seed round announcemnt

* fix seed round announcemnt

* seed round blog

* add nav mobile

* fix typo

* Update docs/content/blogs/seed-round.mdx

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

* Update docs/app/blog/[[...slug]]/page.tsx

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

* Update docs/app/blog/[[...slug]]/page.tsx

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

* update og

* cleanup

---------

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2025-06-25 12:32:01 -04:00
Dan McGrath
048914fbaf docs: fix typo in oauth proxy documentation (#3151) 2025-06-24 16:40:31 -07:00
Usman S. (Max Programming)
9d4861fc44 docs: update TanStack Start integration guide (#3142) 2025-06-23 10:55:58 -07:00
KinfeMichael Tariku
1eff55bde8 docs: fix typo in plugin (#3122)
* typo

* typo

* typo

* typo

* typo
2025-06-22 17:50:47 -07:00
Maxwell
dce44c697f docs(NextJS): Improve middleware example to be more secure (#3135)
* docs(NextJS): Improve middleware example to be more secure

Users can skim code without reading the text, and LLMs can read code and miss-understand context correctly.  Our current middleware example only checks for existence of a cookie, and doesn't validate it.

While we do warn users this isn't secure, some users has raised concern in a Github issue saying it's not obvious enough for users who skim.

Also we don't provide examples on how to authenticate users on each route, we only show middleware optimistic check examples.

* Update docs/content/docs/integrations/next.mdx

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2025-06-22 16:15:12 -07:00
Eliott C.
6304efa8f0 feat: add Hugging Face provider (#3089)
* feat: add huggingface provider

* Add hugging face to doc
2025-06-20 15:01:29 -07:00
reslear
38e422e4c4 feat: link account with idToken (#1830)
* add idToken to link account

* add docs

* Implemented linking accounts based on idToken

* fix: tests

* docs: prevent diff

* docs: prevent diff

---------

Co-authored-by: kzlar <120426485+kzlar@users.noreply.github.com>
2025-06-20 15:01:06 -07:00
KinfeMichael Tariku
4e38645b44 feat: sveltekit cookie helper plugin (#3049)
* fix(email-verification): improve email verification logic to check session and user email consistency (#3042)

* docs(passkey): Fixed signIn passkey props (#3014)

callbackURL doesn't exist.

* feat: svelte kit cookie helper

* lint

* docs and clean up

* clean up

* lint

* clean up

* clean up

* sync cookies

* lint

* pruning

* pruning and lint

* update

* update

* update

---------

Co-authored-by: Bereket Engida <86073083+Bekacru@users.noreply.github.com>
Co-authored-by: Maxwell <145994855+ping-maxwell@users.noreply.github.com>
2025-06-20 13:47:26 -07:00
KinfeMichael Tariku
e0b38d0018 docs: input field usage on additional fields (#2991) 2025-06-20 13:08:33 -07:00
Undefined Ninja
ce4d250ad5 docs: corrected github user email scope name (#3099)
* docs: corrected github user email scope name

* docs: cubic dev suggestion
2025-06-20 08:26:48 -07:00
Maxwell
e4bed5c786 docs(passkey): Fixed signIn passkey props (#3014)
callbackURL doesn't exist.
2025-06-16 00:31:42 -07:00
Maxwell
be3face70c feat(username): Check username availability (#3025)
* feat(username): Check username availability

closes https://github.com/better-auth/better-auth/issues/1553

* add: docs
2025-06-16 00:24:57 -07:00
Bereket Engida
b6edbb9ab9 docs: remove callout and default cookie attributes for cross subdomain cookies 2025-06-15 12:44:33 -07:00
Maxwell
015ba5632b feat(organization): maximumMembersPerTeam support (#2374)
* feat(organization): maximumMembersPerTeam support

Allow configuration of maximum number of members allowed in a team.

* chore: cleanup
2025-06-14 15:14:16 -07:00
movero
06a613422b docs(microsoft): correct how to require account selection (#3016) 2025-06-13 16:58:03 -07:00
Muhammed Rahif
0de0a29bc7 docs(admin): clarify on the checkRolePermission function (#3002)
* docs(admin): clarify on the `checkRolePermission` function

* Update docs/content/docs/plugins/admin.mdx

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

* Update admin.mdx

---------

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2025-06-12 21:31:04 -07:00
Seth Weinheimer
3f25944726 docs: update options for oauth2 registration option (#2992) 2025-06-11 14:59:47 -07:00
Srikanth
c78574311b docs(tanstack): migrate from createAPIFileRoute to createServerFileRoute (TanStack Start) (#2984)
The `createAPIFileRoute` method is no longer available in the latest version of TanStack Start. This commit updates the codebase to use the new `createServerFileRoute` method for handling API routes, ensuring compatibility with the latest library version.
2025-06-11 12:27:38 -07:00
Matteo Urso
2a793139a5 docs: update casing for getMcpSession reference (#2978) 2025-06-11 11:33:12 -07:00
Julius Marminge
90db4c3896 fix: oauth proxy between http and https (#2895)
* Update index.ts

* support prefix

* chore: revert test

* skip oauth proxy header

* add test

---------

Co-authored-by: Bereket Engida <bekacru@gmail.com>
2025-06-09 23:30:32 -07:00
Rohan Godha
cb3f07f133 docs(stripe): document switching plans on a subscription (#2862)
* docs(stripe): document switching plans

* Update docs/content/docs/plugins/stripe.mdx

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2025-06-09 23:12:41 -07:00
Neco
f2def63dd8 docs: update surreal adapter community link (#2957)
## Replace unmaintained SurrealDB adapter with actively maintained version

### Summary
This PR updates the Community Adapters table to replace the unmaintained `surreal-better-auth` adapter with `surrealdb-better-auth`, which is actively maintained.

### Changes
- Updated SurrealDB adapter entry from `oskar-gmerek/surreal-better-auth` to `Necmttn/surrealdb-better-auth`
- Updated author information and GitHub avatar accordingly
- Maintained the same database dialect (SurrealDB)

### Reason for Change
The previous SurrealDB adapter (`oskar-gmerek/surreal-better-auth`) is no longer maintained. The new adapter (`surrealdb-better-auth`) provides ongoing support and maintenance for SurrealDB integration with Better Auth.

### Testing
- [x] Verified the new adapter repository exists and is publicly accessible
- [x] Confirmed the adapter is compatible with Better Auth
- [x] Updated documentation links are valid

This ensures users have access
2025-06-09 21:15:53 -07:00
Bereket Engida
38ce94994c chore: remove blog 2025-06-09 20:13:43 -07:00
Bereket Engida
9fbea84c5f refactor: getCookieCache to be async 2025-06-07 17:31:33 -07:00
Bereket Engida
5eb3c03176 feat: add getCookieCache helper and update session handling 2025-06-07 16:46:01 -07:00
Bereket Engida
eaf80cf945 fix: rename forgetPassword APIs to requestPasswordReset (#2947)
* fix: rename  to

* Update demo/nextjs/app/(auth)/forget-password/page.tsx

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2025-06-07 16:28:47 -07:00
Bereket Engida
db2c0d0c8a docs: fix api typo on security guide 2025-06-07 15:04:41 -07:00
KinfeMichael Tariku
335e6be0bf docs: headers in the setPassword method (#2923) 2025-06-06 14:22:15 -07:00