Commit Graph

143 Commits

Author SHA1 Message Date
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
Matteo Urso
2a793139a5 docs: update casing for getMcpSession reference (#2978) 2025-06-11 11:33:12 -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
9cc2e3d8ab feat: MCP plugin (#2666)
* chore: wip

* wip

* feat: mcp plugin

* wip

* chore: fix lock file

* clean up

* schema

* docs

* chore: lint

* chore: release v1.2.9-beta.1

* blog

* chore: lint
2025-05-23 12:44:51 -07:00
Bereket Engida
eec052c787 chore: return early on invalid cookie 2025-05-15 20:08:44 -07:00
Muntasir Mahmud
d914650289 chore: clean up minor typo mistakes 2025-05-14 10:27:58 -07:00
dependabot[bot]
82e113964d chore(deps-dev): bump vite from 5.4.18 to 5.4.19 2025-05-01 05:39:17 +03:00
Anthony DePasquale
fc4c0eb280 Better Auth 2025-04-13 14:11:08 +02:00
Anthony DePasquale
b36a1b83c8 GitHub 2025-04-13 14:11:08 +02:00
gandan
e077be39a2 docs: correct Svelte Kit to SvelteKit (#2246) 2025-04-13 14:59:47 +03:00
dependabot[bot]
992ea12aad chore(deps-dev): bump vite from 5.4.16 to 5.4.18 (#2219)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.16 to 5.4.18.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.18/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.18/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 5.4.18
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-11 18:41:20 +03:00
Maxwell
986614b241 feat: createAdapter and useNumberId (#1926)
* refactor(adapter): `createAdapter` helper

* update: Kysely adapter support

* update: memory adapter

* chore: cleanup

* update: MongoDB adapter supported

* update: mongodb adapter file names

* update: support for prisma adapter

- also fixed memory adapter with `getField`
- disabled all debug logs by default

* chore: lint

* fix: generate an `id` if it isn't already provided

* update(test): init config snapshot

* update: existing adapters tests to include an `id` existence check

* fix: renamed prisma adapter file names

* ^

* update(mongo): Removed `disableIdGeneration` for mongo adapter

* fix: dont add `id` from fields if `disableIdGeneration` is false

* fix: adapter converting dates to string using the wrong value data

* add: create-adapter tests

* update: moved `adapter` to `create-adapter` under the existing `adapters` folder

* WIP: docs

* fix: create-adapter test importing from wrong path

* WIP: docs

* update: key transformation map options are now objs not fns

* chore: lint

* update: cleanup & added debugLogs/usePlural option to some adapters

* update: tests

* chore: cleanup

* update: fields name & made customTransforminput/output to run after supportsDates/supportsBoolean/SupportsJSON to run

* chore: lint

* Update: docs

* update: update-many to not use transformOutput

* chore: lint

* fix: adapter options breaking

* update: set the default limit on findMany

* update: docs

* update: docs & cleaned up code

* update: create schema comes with `tables` now

* This is useless

* fix: api-key shouldn't handle id gen in row creation

* chore: lint

* WIP: useNumberId

* chore: cleanup

* removed all cases of `id` during adapter.create call

* update: useNumberId

* update: drizzle adapter schema generation

- update: pg now sets `id` field to use `uuid`.
- fix: sets the correct reference `onDelete` action.
- refactor: cleaned up the code a lot more

* update: added `supportNumericIds` in create adapter options

* chore: cleanup

* update(tests): added option to disable any adapter tests & created a `useNumberId` test

* fix: skip tests options were using old method

* chore: lint

* WIP: Drizzle tests with number id

* chore: lint

* fix: memory adapter failing on number id adapter tests

* chore: cleanup

* fix: adapter tests fail due to emails needing to be unique

* update: support drizzle adapter use-number-id

* fix: cleanup Drizzle Adapter tests

* fix: drizzle schema generation for reference id fields

* fix: type errs in memory adapter tests

* fix: memory adapter tests

* Update init.test.ts.snap

* fix: prisma tests correctly uses the right primsa client per schema

* Delete run-vitest.ts

* update: create-adapter to support `getDefaultFieldName`

* update: create-adapter adapter options updated

* fix: adapters using older function names

* fix: create-adapter now converts where clauses & added tests

* update: new `getFieldAttributes` option in create-adapter, and fixed convert where clause fn

* chore: cleanup

* update: convertWhereClause in create-adapter improved

* update: BAOptions to start using `database` & updated adapter tests

* fix: type errors

* chore: lint

* update: default config values for the create-adapter config

* fix: getModelName doesnt take into account of plural

* chore: cleanup

* update: improved getDefaultModelname

* fix: create-adapter transform input doesn't take into account reference IDs

* fix: transformInput on reference IDs doesn't take into account of array IDs

* chore: lint

* fix: prisma tests

* fix: Prisma adapter tests running one after another

* fix: init snapshot should state supportJSON as `false`

* fix: drizzle adapter tests

* update: adapter test options to allow passing a test prefix

* chore: add state.txt to gitignore

* remove: state.txt from gitignore, it's useless

* chore: lint

* Update adapter.prisma.numberid.test.ts

* fix: get-migration for mysql & mssql `id` fields to use varchar

* chore: cleanup

* update: adapter comes with adapter-test-debug-log functions

* update: made adapterTestDebugLog functions only be in adapter if config enabled it

* fix: transactionId for debug logs not working correctly

This was due to the adapter being reinitialized each test case

* update: Added colors to debug logs

* update: adapter tests a little more refined

* add: deepmerge dev deps to deep merge better auth options config for adapters

* fix: create-adapter types

* update: revert back to old types

* fix: prisma adapter tests now run one after another

* fix: kysely adapter to work when no `id` is provided

* update: mongoDB to set `supportNumericids` to false

* update(docs): discuss new `database` object in BetterAuthOptions

* add: support for custom ID generation

* fix: docs had incorrect default value for `supportsJSON`

* update(docs): added number id adapter test documentation

* fix: drizzle-adapter mysql tests

* update: drizzle-adapter tests to use deepmerge

* add: drizzle-adapter mysql tests to test useNumberId

* add: Prisma generate to support number id

* update: support the old `generateId` option, but warn the user for deprecation

* update: init test snapshot

* update: adapter tests not included in normal tests

* Update pnpm-lock.yaml

* fix: typo in file names for kysley test files

* update: separated adapter tests

* Update pnpm-lock.yaml

* fix: please tell me I actually fixed this

* fix: pnpm-lock merge conflict

* chore: lint

* fix: sveltekit pkg.json merge conflicts (hopefully)

* Delete pnpm-lock.yaml

* update: createSchema takes into account of rate-limit and secondaryStorage

* improve docs

* add drizzle returning id retriver

* chore: fix test script

---------

Co-authored-by: Bereket Engida <bekacru@gmail.com>
2025-04-11 09:04:49 +03:00
Kinfe123
4ff8139fcd fix: dep issue 2025-04-02 15:04:11 +03:00
dependabot[bot]
f1963c994a chore(deps-dev): bump vite from 5.4.14 to 5.4.16 (#2066)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.14 to 5.4.16.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.16/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.16/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-02 06:54:04 +03:00
Bereket Engida
b5f638ca45 docs: upgrade to tailwind v4, react 19, fuma docs 15 (#1735) 2025-03-08 19:33:31 +03:00
Bereket Engida
7ba1af2ff9 Merge branch 'main' into v1.2 2025-02-27 14:20:23 +03:00
dependabot[bot]
ff727ba11e chore(deps): bump solid-js in /examples/astro-example (#1574)
Bumps [solid-js](https://github.com/solidjs/solid) from 1.8.23 to 1.9.4.
- [Release notes](https://github.com/solidjs/solid/releases)
- [Changelog](https://github.com/solidjs/solid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/solidjs/solid/compare/v1.8.23...v1.9.4)

---
updated-dependencies:
- dependency-name: solid-js
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-25 21:54:09 +03:00
Bereket Engida
9d2af48f04 Merge branch 'main' into v1.2 2025-02-23 23:49:39 +03:00
Bereket Engida
6440a1074d fix(one-tap): remove random string generator for nonce to fix expo client 2025-02-23 23:42:52 +03:00
Rahul Mishra
419a86a773 chore: fix type exports and sync dep versions to improve build times (#1528) 2025-02-21 16:26:50 +03:00
Bereket Engida
e3faaf031c chore: lint 2025-02-17 08:24:12 +03:00
Konrad Serafin
7d0854b219 example(astro): add missing imports, remove unused scripts, fix indentation (#1455)
Note for pages/index.astro: <script> moved outside <RootLayout> as per Astro convention.
2025-02-17 08:24:12 +03:00
Bereket Engida
03fb6b2dfa chore: lint 2025-02-16 16:10:02 +03:00
Konrad Serafin
08e0eb067f example(astro): add missing imports, remove unused scripts, fix indentation (#1455)
Note for pages/index.astro: <script> moved outside <RootLayout> as per Astro convention.
2025-02-16 16:08:51 +03:00
dependabot[bot]
64ed27855a chore(deps-dev): bump vite from 5.4.11 to 5.4.12 (#1260)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.11 to 5.4.12.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.12/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.12/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-22 07:54:27 +03:00
Bereket Engida
47344cf97b chore: upgrade expo example 2025-01-15 13:09:23 +03:00
dependabot[bot]
3bec2f5129 chore(deps): bump astro from 4.16.17 to 4.16.18 (#955) 2025-01-12 15:02:50 +03:00
Bereket Engida
9f2e45b8c7 chore: cleanup 2025-01-06 14:30:39 +03:00
Bereket Engida
d603d476d7 chore: set extenstion example private 2025-01-04 21:26:23 +03:00
Bereket Engida
78e3e92d4f chore: lint 2025-01-04 19:40:47 +03:00
Multinite
95344a6784 Browser extensions example & guide (#1117)
* init: plasmo example project

* feat: add example for browser extension with BetterAuth

- Introduced a basic browser extension example using Plasmo framework and BetterAuth for authentication.
- Updated .env.example with BetterAuth configuration.
- Removed unnecessary GitHub workflow file for submitting to Web Store.
- Updated .gitignore to exclude local env files.
- Improved README documentation for the example.
- Included BetterAuth dependency in the package.json and updated the pnpm-lock.yaml.

* add: browser-extension example complete

* fix: content.tsx

* remove: browser-extension package as that isn't needed

* add: browser extension buide

* docs: added references in the guide to the examples code

* remove(dep): unused dependency

* refactor: package.json - remove author & update description

* wip

* chore: update lock file

* docs: update icon

---------

Co-authored-by: Bereket Engida <bekacru@gmail.com>
2025-01-04 18:14:59 +03:00
Bereket Engida
ef2ff4ce56 fix(expo): local session cache should be scopped (#1020) 2024-12-26 18:44:16 +03:00
Marc Mogdanz
8dffaa2cd6 docs: use APIRoute instead of Route for tanstack start api routes (#943)
* fix(docs): use `APIRoute` instead of `Route` for tanstack start api routes

* fix(cli): remove unused import in drizzle schema
2024-12-20 20:59:52 +03:00
dependabot[bot]
b26cdf9cda chore(deps): bump astro in /examples/astro-example (#937)
Bumps [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro) from 4.15.9 to 4.16.17.
- [Release notes](https://github.com/withastro/astro/releases)
- [Changelog](https://github.com/withastro/astro/blob/astro@4.16.17/packages/astro/CHANGELOG.md)
- [Commits](https://github.com/withastro/astro/commits/astro@4.16.17/packages/astro)

---
updated-dependencies:
- dependency-name: astro
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-19 09:41:56 +03:00
Stephen Zhou
d8a264871f refactor(expo): make storage required (#931) 2024-12-18 13:03:49 +03:00
dependabot[bot]
efa26f662f chore(deps): bump astro from 4.15.9 to 4.16.1 in /examples/astro-example (#855)
Bumps [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro) from 4.15.9 to 4.16.1.
- [Release notes](https://github.com/withastro/astro/releases)
- [Changelog](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md)
- [Commits](https://github.com/withastro/astro/commits/astro@4.16.1/packages/astro)

---
updated-dependencies:
- dependency-name: astro
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-11 19:00:45 +03:00
Multinite
35b4ecbc9e docs: remove react warning on svg attributes (#834) 2024-12-09 08:51:22 +03:00
Bereket Engida
3678fa18bc chore: upgrade workspace deps 2024-12-07 11:39:22 +03:00
Bereket Engida
80c643ae57 chore: update expo example 2024-12-03 19:38:19 +03:00
Bereket Engida
339a7fb586 fix: vue client store type inference 2024-11-27 22:14:40 +03:00
Bereket Engida
7799504738 chore: fix tanstack demo 2024-11-15 16:36:32 +03:00
Bereket Engida
6892ef93e4 fix: verification sorting 2024-11-15 15:03:56 +03:00
Bereket Engida
00ace72b6b chore: fix remix example 2024-11-12 14:25:28 +03:00
Bereket Engida
6c4c482dbf feat: nextjs plugin (#493) 2024-11-11 20:54:21 +03:00
Bereket Engida
1acb34b96e fix: mysql date conversion (#492) 2024-11-11 16:57:50 +03:00
Bereket Engida
90e14b8bcc fix: change dontRemeberMe to remeberMe (#476) 2024-11-10 08:52:45 +03:00
Bereket Engida
0a51955323 fix: handle web expections on expo 2024-11-09 09:28:48 +03:00
Bereket Engida
c0f6b26e8e fix: svelte type breaking on useSession 2024-11-07 12:30:09 +03:00
Bereket Engida
6c1b1d3c6b fix: tsc failing on deployment (#407) 2024-11-04 01:12:38 +03:00
Bereket Engida
86078c6d6e chore: update expo example readme 2024-11-03 02:15:07 +03:00