Commit Graph

143 Commits

Author SHA1 Message Date
Maxwell
789a42b5b8 docs: "new" badge in sidebar (#1624)
* add(docs): "new" badge in sidebar

* update: made badge place at the end of the div

* add: roblox, tiktok & VK badges

* update: removed border from badge

- also readjusted roblox position

* remove: new badge from "other social providers"
2025-03-02 10:15:10 +03:00
KinfeMichael Tariku
84ef00c8d2 docs: add tiktok (#1615) 2025-03-02 02:01:20 +03:00
Bereket Engida
43cae44617 chore: lint 2025-03-01 01:27:18 +03:00
Bereket Engida
4f56078e4b feat: stripe plugin to handle subscriptions and customers (#1588)
* init

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* feat(stripe): enable subscription support and update pricing plans

* feat(stripe): add Vitest configuration and initial tests for Stripe integration

* feat(stripe): implement setCookieToHeader function and update tests for customer creation and subscription handling

* feat(stripe): add seats support for subscriptions and update related endpoints

* feat(stripe): update schema to include unique referenceId, stripeSubscriptionId, and periodEnd fields

* wip docs

* docs

* docs: imporves

* fix(stripe): update webhook handlers to use correct subscription identification

* refactor(stripe): simplify customer management by storing Stripe customer ID directly on user

* chore(stripe): update package configuration and build setup

- Migrated from tsup to unbuild for build configuration
- Updated package.json with improved export and dependency management
- Added build configuration for better module support
- Removed tsup configuration file

* chore(stripe): update pnpm lockfile dependencies

- Moved `better-auth` from devDependencies to dependencies
- Added `zod` as a direct dependency
- Reorganized package dependencies in the lockfile

* feat(stripe): enhance subscription management and error handling

- Added toast error handling for subscription upgrades in the dashboard
- Updated Stripe price IDs for different plans
- Improved Stripe plugin documentation with beta warning and team subscription details
- Implemented intermediate redirect for checkout success to handle race conditions
- Added support for fetching and updating subscription status after checkout
- Fixed Next.js cookie handling and build configuration

* chore: update snapshot
2025-03-01 01:20:17 +03:00
Maxwell
b6d18ce16f docs(add): database category (#1315)
* docs: sidebar updated for new category

* fix: icons to use fill version

* add: the rest of the pages for the database category

* update: MySQL done

* update: SQLite done. (and updated MySQL)

* update: PostgreSQL

* update: mssql done

* update: added callout to Kysley docs for each core dialect

* update: other relational databases page

* update: drizzle

* docs(fix): wrong words on drizzle page

* update: mongo docs

* update: prisma done

* update: community adapter page

* update: concept/database to refer to the documentation for each dialect in the docs category

* update: drizzle to mention the schema definitions

---------

Co-authored-by: Bereket Engida <86073083+Bekacru@users.noreply.github.com>
2025-03-01 00:32:46 +03:00
Maxwell
ec9edc357a feat: API Key plugin (#1515)
* feat: API-key plugin

* add: `deleteAllExpiredApiKeys` functionality

* fix: fetching sessions from headers

* update: types & create-api-key now checks for min & max expiresIn values

* tests: Started working on tests

* add: features

- added list functionality
- added min & max prefix length
- added min & max name length
- added metadata enable/disable option
- added `disableSessionForAPIKeys` option
- verify API key now checks for expiration & refills
- added regex to check prefix of api key

* fix: create-api-key's expiration using `/` instead of `*`

* update: schema `metadata` transforms invalid values as `null`

* fix: create-api-key metadata should go through transformation

* fix: missing metadata wouldn't have `'null'` as value

* update: error types

* fix: remove console.logs from verify

* fix: rate-limit not working

* fix: rate-limit plugin options types

* chore: remove logs

* update: removed `key` field from result apiKey type of the update-api-key endpoint

* fix: typo

* update: create & update if checks

- create now checks if custom expiration times are allowed
- update now allows name values & checks if name is within length range
- update now also checks for custom expiration times are allowed

* update(WIP): tests

* fix: added the missing error throw when there is no values to update

* fix: update-api-key checks expiresIn in days, not ms

- also updated create-api-key & update-api-key to have more detailed event logging

* fix: update api key's remaining count's min & max checks

- also added more detail to the events

* fix: update-api-key can now update refillInterval & refillAmount properly

* fix: metadata in update-api-key transforms between string & obj correctly

* add: all of the `update` tests

* update: get-api-key metadata is now obj instead of string

* add: listApiKeys functionality

* fix: get-session to use mock session based on header API keys

* update: tests to test against get-session, get-api-key, and list-api-key

* add: `start` field to show the first few characters of an API key

* fix: very silly mistake

* update: tests to validate `start` property

* update: create-api-key checks if properties are set from server & allows for custom rate-limit rules

- also updated tests to check against this

* update: verify-api-key to check if a row has the right user-id

- this also should speed up the DB process too. (I'm pretty sure)

* update: `delete-all-expired-api-keys` endpoint added & updated list-api-keys endpoint function name

* add: customAPIKeyValidator fn, and fixed verification `remaining` and `lastRefillAt` values updating DB incorrectly

* update: documentation

* add: rate-limiting enable/disable on a per-key level

* update: docs

* fix: correct expiration time units and improve error messages in API key handling

* fix: allow creating apiKeys by providing userId on the server

* fix: user userId instead of headers to differ server vs client calls on create api key

* wip

* fix: JSDoc comment

* fix: tests not passing due to invalid expiresIn value

Since the expiresIn got changed from `ms` to `sec`, this needed to be changed as well.

* wip

* fix(api-key): update tests and error messages for API key verification

* fix(api-key): update API key fixes

* refactor tests and remove events

* refactor(api-key): remove unused event handling and clean up type definitions

* add: minimum values to `create-api-key` numeric input options

* fix: remove `opts.events` in delete-api-key route

* refactor: all returning routes which can contain `key`

- more performant
- better typed
- cleaner code

:D

* update: added minimum values to update-api-key endpoint as well

* fix: removed `maximumRemaining` & `minimumRemaining` default values in `opts`

* docs: ready (unless I make minor adjustments later) 🫡

* fix(docs): links & invalid code examples

* fix: output transform of metadata to use ParseJSON

* fix: tests failing due to async metadata transform output

* fix: return types for verify-api-key endpoint

* fix: tests failing due to invalid expiresIn minimum value

* docs: reorder sidebar items for API Key

* wip

* docs(api-key): enhance documentation with permissions and usage details

- Updated API key documentation with comprehensive permissions explanation
- Added examples for setting default permissions, creating, verifying, and updating API keys with permissions
- Clarified API key creation, verification, and update processes
- Improved code examples and descriptions for better understanding

* chore: lint

* fix(docs): incorrect wording / explanation on refillInterval/refillAmount

* add(docs): missing permissions info in docs

---------

Co-authored-by: Bereket Engida <bekacru@gmail.com>
2025-02-28 17:11:03 +03:00
Maxwell
8fb25bdd6a docs(rename): node to express in integration docs (#1535) 2025-02-23 09:18:41 +03:00
Bereket Engida
cb691e78bc docs: update captcha docs and fix sidebar svg 2025-02-14 10:18:21 +03:00
Rizvan Nukhtarov
700d392759 feat: add VK ID social provider (#1013)
* feat: add VK ID social provider

* lint

* remove data

* fix emailVerified property

---------

Co-authored-by: Bereket Engida <86073083+Bekacru@users.noreply.github.com>
2025-02-14 09:17:14 +03:00
Oscar
363ca39db7 feat: Captcha Plugin with multiple providers (#957)
* feat: create Cloudflare Turnstile middleware plugin

* fix: middleware returns new Response & working unit tests

* chore: renamed plugin to cloudflare-turnstile

* docs: adds Cloudflare Turnstile plugin documentation

* docs: improves Cloudflare Turnstile's docs

* feat: move to generic captcha plugin, supporting multiple providers
2025-02-14 09:11:19 +03:00
Bereket Engida
9243529cc0 chore:lint 2025-02-06 15:10:29 +03:00
Maxwell
095661f387 docs: add other-social-providers page (#1340)
* add(docs): other-social-providers page

* add: missing social provider URLs and scopes
2025-02-03 17:16:05 +03:00
Bereket Engida
d75d8b6baa chore: lint 2025-01-29 15:05:35 +03:00
Maxwell
47f14a22cb docs: new contribution category (#1174) 2025-01-21 11:05:17 +03:00
Quan Pham
b1c6b5a5e4 docs: prop names and react key warnings (#1234)
* fix: docs component props

* fix: props name
2025-01-17 10:47:58 +03:00
Maxwell
b036061263 docs: guide for optimizing for performance (#1199)
* add(docs): guide for optimizing for performance

* update: reworded some areas
2025-01-14 11:02:25 +03:00
Denys
028bc59b1f docs: add spotify provider to the sidebar (#1147)
* fix: add spotify provider to the sidebar

* fix: formatting
2025-01-12 10:46:39 +03:00
Bereket Engida
9f2e45b8c7 chore: cleanup 2025-01-06 14:30:39 +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
4555f92063 feat: OIDC Plugin (#765) 2024-12-21 02:12:04 +03:00
Bereket Engida
384ef1c344 feat: hooks (#916) 2024-12-20 21:00:14 +03:00
Bereket Engida
f9102b1542 feat: OpenID SSO Provider (#951) 2024-12-20 20:08:42 +03:00
Multinite
bf522217d7 docs: add FAQ page to docs (#875) 2024-12-14 21:30:42 +03:00
Behon Baker
534cf8a607 docs: nitro Integration (#694) 2024-12-12 11:27:31 +03:00
Jay Nguyen
118b22d957 feat: reddit social sign on (#805) 2024-12-12 11:26:26 +03:00
Multinite
8daccfd10b docs(add): your first plugin guide (#806) 2024-12-08 11:00:56 +03:00
Multinite
bf34533e4d docs: community-plugins (#791) 2024-12-08 10:59:23 +03:00
Bereket Engida
bc08e25359 feat: OAuth map profile to user (#731) 2024-12-03 11:50:10 +03:00
Bereket Engida
d93dc53180 chore:lint 2024-11-23 03:05:31 +03:00
Bereket Engida
1e27706234 feat: open api docs plugin 2024-11-22 22:12:09 +03:00
Bereket Engida
201ea79470 fix: session should update every time when update age set to 0 (#606) 2024-11-20 22:36:42 +03:00
Bereket Engida
843bf582ff docs: add migratino guide icons 2024-11-20 13:45:03 +03:00
Bereket Engida
225d72f39e docs: remove duplicate examples 2024-11-20 10:04:56 +03:00
Mohammed Ibrahim
b810f55851 docs: add next-auth migration guide (#584) 2024-11-19 22:25:14 +03:00
Keean
f2031065ad docs: fix spelling, grammar, and framework names, and consistency across pages (#578) 2024-11-18 12:26:45 +03:00
Bereket Engida
39839ee6b6 docs: add comparison 2024-11-17 12:09:53 +03:00
Bereket Engida
77a80061cc feat: oAuth proxy plugin (#438) 2024-11-06 23:55:19 +03:00
Bereket Engida
2ba1584736 feat: one tap (#419) 2024-11-05 01:59:31 +03:00
Mark1
a096490044 feat: add social-provider Gitlab (#386) 2024-11-02 12:52:39 +03:00
Bereket Engida
cce28070ee feat: expo plugin (#375) 2024-11-01 09:24:14 +03:00
LovelessCodes
a744354d88 feat: add TanStack Start integration 2024-10-29 23:36:06 +03:00
Bereket Engida
7015962e80 feat: email otp plugin (#309) 2024-10-26 23:08:33 +03:00
Bereket Engida
68eaf7e47a docs: move to fumadocs 14 (#338) 2024-10-25 21:54:21 +03:00
Bereket Engida
7d77bc3d5a docs: fix linkedin icon 2024-10-23 22:45:42 +03:00
Daniel Roe
c7be5615d7 chore: fix github capitalisation (#297) 2024-10-23 01:48:15 +03:00
Gregor Wedlich
bc60020dab feat: linkedin (#295) 2024-10-22 22:49:47 +03:00
Gregor Wedlich
c5a876a6de feat: dropbox (#286) 2024-10-22 16:07:27 +03:00
Bereket Engida
05fd1e072d feat: multi session plugin (#204) 2024-10-18 17:27:37 +03:00
Bereket Engida
ed65804dff refactor: email verification flow (#203) 2024-10-17 22:15:19 +03:00
Bereket Engida
e0bc94e001 docs: change jwt icon 2024-10-16 21:15:27 +03:00