* docs(api-key): move schema section to the bottom
* fix: shouldn't refresh a token if access token expires is undefined or null (#3577)
* fix: ensure session is added to context when reading from cookie cache (#3578)
When session data is present in the cookie, `get-session` was
early-returning without adding the session to the context, causing hooks
to receive a null session.
This change ensures the session is consistently added to the context.
* chore: export siwe in better-auth/plugins (#3596)
The docs were using this import path, yet `siwe` wasn't exported there. This PR fixes this.
* chore: fix cookies test
* fix: client inference for organization additional fields
* improve additional fields
* fix build
* fix test
---------
Co-authored-by: Gagan G <80091397+gaganref@users.noreply.github.com>
Co-authored-by: Maxwell <145994855+ping-maxwell@users.noreply.github.com>
* docs(api-key): move schema section to the bottom
* fix: shouldn't refresh a token if access token expires is undefined or null (#3577)
* fix: ensure session is added to context when reading from cookie cache (#3578)
When session data is present in the cookie, `get-session` was
early-returning without adding the session to the context, causing hooks
to receive a null session.
This change ensures the session is consistently added to the context.
* feat(organization): add membersLimit param to allow to fetch more or less members than the membership limit
* add test
* Update packages/better-auth/src/plugins/organization/adapter.ts
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
---------
Co-authored-by: Gagan G <80091397+gaganref@users.noreply.github.com>
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
* update(org): additional fields improvements
Fix: type error in client plugin auth generic
update: improved change-logs blog
* fix: teams still inferred
* update: changelog
* feat: first draft of SIWE plugin
* fix: run biome linter
* refactor(siwe): rename publicKey to walletAddress for clarity
- Add ensName as an optional param from the client
- Add emailDomainName to plugin options - fallback to getOrigin()
- Move schema to a separate file
* fix(siwe): update emailDomainName assignment to use nullish coalescing operator
* run biome linter
* fix(siwe): avatar field is not included in createUser call
* refactor(siwe): remove siwe dependency and implement nonce generation and message verification through plugin options
- Removed direct dependency on 'siwe' package.
- Introduced 'generateSiweNonce' and 'verifySiweMessage' as user functions
- Updated tests to reflect changes in nonce handling and message verification logic (WIP)
* feat: add anonymous flag to plugin options
* refactor(siwe): improve test coverage - anonymous flag, missing nonce & other edge cases
* feat(siwe): add checksum address validation using keccak256 + test case
* fix(siwe): refactor hashing utility to use @noble/hashes
* feat(siwe): enhance SIWE plugin with chainId support, strong typing, dedicated table for wallet adresses and more test coverage
* refactor(siwe): remove unused SIWE interfaces
* fix(siwe): PR review issues
* fix(siwe): rename const "siweClientPlugin" to "siweClient" for simplicity
* feat(siwe): add docs
* chore: fix lock file
* fix: account linking & code formatting
* run pnpm lint
---------
Co-authored-by: Bereket Engida <Bekacru@gmail.com>
* refactor: Pass both building and getRequestEvent from outside of library
- Removes the need for importing from virtual modules at the expense of more user boilerplate
* chore: add Svelte and related dependencies to externals
* chore: lint
* refactor(docs): update SvelteKit integration docs with new building and getRequestEvent usage
* feat: add an option to encrypt tokens by default
* feat(auth): add OAuth token encryption support
* refactor(auth): streamline token handling in OAuth callback by utilizing setTokenUtil
* refactor(auth): replace direct token handling with setTokenUtil for improved clarity and maintainability
* refactor(auth): unify token handling by utilizing setTokenUtil for access and refresh tokens
* docs(auth): enhance documentation for OAuth token encryption, clarifying security risks and benefits
* chore: cleanup
* update test