Balázs Orbán
2875b49f11
fix(core): preserve incoming set cookies ( #6029 )
...
* fix(core): preserve `set-cookie` by the user
* add test
* improve req/res mocking
* refactor
* fix comment typo
2022-12-12 13:47:34 +00:00
Balázs Orbán
62f672ae30
fix(core): host detection/NEXTAUTH_URL ( #6007 )
...
* rename `host` to `origin` internally
* rename `userOptions` to `authOptions` internally
* use object for `headers` internally
* default `method` to GET
* simplify `unstable_getServerSession`
* allow optional headers
* revert middleware
* wip getURL
* revert host detection
* use old `detectHost`
* fix/add some tests wip
* move more to core, refactor getURL
* better type auth actions
* fix custom path support (w/ api/auth)
* add `getURL` tests
* fix email tests
* fix assert tests
* custom base without api/auth, with trailing slash
* remove parseUrl from assert.ts
* return 400 when wrong url
* fix tests
* refactor
* fix protocol in dev
* fix tests
* fix custom url handling
* add todo comments
2022-12-11 14:48:28 +00:00
Balázs Orbán
2c669b32fc
fix(core): correct status code when returning redirects ( #6004 )
...
* fix(core): correctly set status when returning redirect
* update tests
* forward other headers
* update test
* remove default 200 status
2022-12-11 12:55:16 +00:00
Balázs Orbán
0a140cdf87
test(core): fix test
2022-12-08 05:11:37 +01:00
Balázs Orbán
cbf8c7a59f
refactor: rename
2022-12-03 15:51:38 +01:00
Balázs Orbán
7e91d7df54
refactor(core): use standard Request and Response ( #4769 )
...
* WIP use `Request` and `Response` for core
* bump Next.js
* rename ts types
* refactor
* simplify
* upgrade Next.js
* implement body reader
* use `Request`/`Response` in `next-auth/next`
* make linter happy
* revert
* fix tests
* remove workaround for middleware return type
* return session in protected api route example
* don't export internal handler
* fall back host to localhost
* refactor `getBody`
* refactor `next-auth/next`
* chore: add `@edge-runtime/jest-environment`
* fix tests, using Node 18 as runtime
* fix test
* remove patch
* fix neo4j build
* remove new-line
* reduce file changes in the PR
* fix tests
* fix tests
* refactor
* refactor
* add host tests
* refactor tests
* fix body reading
* fix tests
* use 302
* fix test
* fix again
* fix tests
* handle when body is `Buffer`
* move comment
2022-12-03 13:39:08 +00:00
Jason Brady
f277989c69
feat(core): make pkce and state maxAge configurable on the cookies ( #4719 )
...
* feat(cookies): make pkce and state maxAge configurable on the cookies (#4660 )
* added tests for pkce and state handlers
2022-12-01 08:02:42 +07:00
Balázs Orbán
0d1757814f
fix(next): improve dev environment variable handling ( #5763 )
...
* fix(next): HIDE `NEXTAUTH_URL` warning locally
* refactor: move out `process.env` from core
* fix tests
* simplify
* swap
2022-11-20 09:08:10 +00:00
Balázs Orbán
6132c3fa75
fix(ts): match TS types better with implementation ( #4953 )
...
* refactor(ts): export `AdapterAccount` from `next-auth/adapters`
* chore: run linter, remove prisma warning
* fix(ts): match TS with implementation closer
* remove unused import
* rename error
* add missing dev dependency
* fix type
* fix type
* fix more types and tests
* remove unused `id`
* skip upstash tests in CI
* revert some changes
* fix type
* revert some change
* revert some change
* revert some change
* revert some changes
* update lock file
* revert line change
* revert some change
* improve adapter & oauth typing
* fix test, revert
* apply review suggestion
* Add test for new rejection logics
* Update assert.test.ts
* fix: Hubspot config
* restore some ts-expect-error
* fix: tests in mirko-orm
* fix: remove redundant id: string
* fix: use ts-expect-errors
* fix: simplify provider type
* fix: normalize user options
* restore ts-expect-errors
Co-authored-by: Thang Vu <hi@thvu.dev >
2022-10-09 21:54:01 +07:00
Philipp
490d59dd17
fix(middleware): improve handling of custom Next.js basePath ( #5109 )
...
* fix(middleware): improve handling of custom nextjs basePath
* fix(middleware): improve extraction of nextjs base path from req.nextUrl
* adapt to req.nextUrl.basePath
* Fix indent
* Add middleware test for custom-base and simplified code a little bit
* Fix indent
* Add another test
* Rename basePath and nextJsBasePath
* Fix lint error
2022-10-09 11:31:28 +07:00
Balázs Orbán
6deccf610f
fix(core): return JSON for non-HTML server route errors ( #5442 )
...
* fix(core): return JSON for non-HTML server route errors
* refactor: throw in `unstable_getServerSession`
* test: expect `unstable_getServerSession` to throw
* refactor: destructure
* fix unrelated test formatting
* catch error page
2022-09-28 17:01:39 +01:00
Eng Zer Jun
44f2a47e6e
fix(middleware): use includes() for NextAuth pages ( #5104 )
...
* fix(middleware): use `includes()` for NextAuth pages
Some users could be setting their `signIn` and `error` pages option to
`/` to disable the automatically generated pages, as suggested in [1].
This commit reverts the behaviour for matching `signIn` and `error`
pages in `handleMiddleware` to pre-v4.10.3.
```
const signInPage = "/"
const errorPage = "/"
const publicPaths = [signInPage, errorPage, "/_next", "/favicon.ico"]
// pathname = "/" will return true
publicPaths.some((p) => pathname.startsWith(p))
```
Fixes: aedabc8d ("fix: avoid redirect on always public paths")
Reference [1]: https://github.com/nextauthjs/next-auth/discussions/2330#discussioncomment-1678298
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com >
* test(middleware): add tests for public paths
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com >
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com >
Co-authored-by: Thang Vu <thvu@hey.com >
2022-09-18 11:07:46 +07:00
Balázs Orbán
8104cb1287
chore: fix builds/tests/eslint ( #4780 )
...
* chore(deps): upgrade `typescript`
* chore(ts): don't exclude test files in tsconfig
* test: expect error when overriding `NODE_ENV`
* chore: remove unused import
* format
* chore: use pnpm@7 in action
* chore: fix eslint
* chore: remove pnpm from engines
* chore: fix configs/builds
* fix: make eslint works
* Update pnpm-lock.yaml
* fix: build failure
* fix: add react to paths
* ignore upstash for now
* add eslintignore, add a bunch of tsconfig.eslint.json
* ignore mikro orm for now
* Delete tsconfig.eslint.json
* Update package.json
* Update pnpm-lock.yaml
* move eslint back to package.json
* move eslintrc.js out
Co-authored-by: Thang Vu <thvu@hey.com >
Co-authored-by: Thang Vu <thang.vu@binance.com >
2022-09-09 13:51:40 +02:00
Melanie Seltzer
a82cbf5ddf
fix: return null in unstable_getServerSession if there's an error ( #5218 )
...
* fix: return null in unstable_getServerSession if there's an error
* Remove status check and instead check body is not a string
* Combine similar tests
2022-08-31 09:19:14 +07:00
Balázs Orbán
afb1fcdae3
fix(providers): add normalizeIdentifier to EmailProvider
...
* fix(providers): add `normalizeIdentifier` to EmailProvider
* docs: document `normalizeIdentifier`
* fix: allow throwing error from normalizer
* test: add e-mail tests
* chore: log provider id
* test: merge client+config jest configs and add coverage report
* test: show coverage for untested files
* fix: only allow first domain in email. Add tests
* chore: add `coverage` to tsconfig exclude list
* cleanup
* revert
Co-authored-by: Thang Vu <thvu@hey.com >
2022-08-01 13:43:19 +02:00
Balázs Orbán
ae834f1e08
feat(providers): allow styling e-mail through theme option ( #4841 )
...
* fix(core): move email handling
* fix: don' use `replaceAll`
* feat(providers): re-use `theme` for e-mail
* docs: mention `theme` option for email
* fix: don't render user e-mail in the email HTML body
* docs: add missing comma
* refactor: fix lint
* refactor: fix lint
2022-07-05 16:02:04 +02:00
Nico Domino
993c0f46b0
fix: show experimental api warning only in dev and only once ( #4816 )
...
Co-authored-by: Lluis Agusti <hi@llu.lu >
2022-07-02 21:00:11 +02:00
Balázs Orbán
cd6ccfde89
fix(core): handle invalid email
2022-07-01 12:09:57 +02:00
Balázs Orbán
c194261617
fix(core): respect NEXTAUTH_SECRET in unstable_getServerSession ( #4774 )
...
* fix(core): respect `NEXTAUTH_SECRET` in `unstable_getServerSession`
* add `secret` tests
* add `@types/jest`
* fix tests
2022-06-27 17:00:08 +02:00
Balázs Orbán
e498483b23
test: add test for invalid callbackUrl handling
2022-06-20 10:38:21 +02:00
Balázs Orbán
2469e44572
feat: allow standard Request in NextAuthHandler ( #4704 )
...
* chore: upgrade dev dependencies
* chore: use SWC for test transforms
* feat: allow standard `Request` as `NextAuthHandler` argument
* test: add initial core tests
* chore: ignore `tests` in build
* chore: fix lint
* chore: move `lib` to `utils`
* add body parsing, simplify
* fix tests
* chore: use `NPM_TOKEN_PKG` for experimental release
2022-06-14 12:25:07 +02:00