Commit Graph

166 Commits

Author SHA1 Message Date
Iain Collins
d0dbacfc4b Display some error messages on the sign in page
Improves the UX by displaying some error messages on the sign in page
2020-07-27 05:20:34 +01:00
Iain Collins
4a23f88180 Add option to reject signIn/authorize callbacks 2020-07-27 05:20:34 +01:00
Iain Collins
9406f8b332 Improve callbacks by adding User object to calls 2020-07-27 05:20:34 +01:00
Iain Collins
b4bb8bda26 Hotfix for email_verified bug
Not being saved by default on sign in. Discovered in #477
2020-07-27 05:20:34 +01:00
Iain Collins
2c32504cc9 Bump version to 3.0.0-beta.21
Resolves #477 by fixing issue with last build being screwy
2020-07-27 05:20:34 +01:00
Iain Collins
52af06cd33 Add Prisma client to optional peer dependencies
This doesn't technically do anything (except for the mongodb peer dependancy, which is invoked when a mongodb is being used) but it provides a way for us to indicate and track the last known good versions of database clients for NextAuth.js.
2020-07-27 05:20:34 +01:00
Iain Collins
dcbd7a6703 Improve TypeORM adapter (#460)
* Uses `require_optional` and `peerOptionalDependencies` instead of dynamic import to resolve issue some users have experience with using using compliers/bundlers (especially on starter projects) that don't handle dynamic imports well.

This should (hopefully) also make it easier to support older versions of Internet Explorer by avoiding bundlers that choke on dynamic imports unless MongoDB is included as a dependancy (even though it's not code they need to compile).

We use `require_optional` to load `ObjectID` conditionally, if NextAuth.js is using MongoDB. This is also exactly how the MongoDB driver itself loads the ObjectID from the `bson/bson-ext` module.

Should resolve #251
    
* The default name for the TypeORM connection is now 'nextauth' instead of 'default'.

This should help people avoid problems with connection re-use when not using serverless (including in local development), especially if they are doing things with their default connection that differ from whats expected by NextAuth.js (like not using UTF-8 for encoding or UTC timezones).

* Now uses connection manager object from the connection, to allow a custom TypeORM connection name to be specified (resolves #459).
2020-07-27 05:20:34 +01:00
Iain Collins
90066fdbec Update homepage copy and package description 2020-07-27 05:20:34 +01:00
Iain Collins
c1b412814a WIP refactor JWT based on feedback 2020-07-27 05:20:34 +01:00
Iain Collins
fec69a21be Refactor JWT payload to use claims
Resovles #224
2020-07-27 05:20:34 +01:00
Iain Collins
fb4381d8eb Implement JWE 2020-07-27 05:20:34 +01:00
Iain Collins
481db425d6 WIP Add JWE
Working implementation (with limited key length and no exp check) using node-jose from Cisco.

I want to compare it panva/jose which has more features before building it out.
2020-07-27 05:20:34 +01:00
Iain Collins
b886729bb8 Update version to 3.0.0-beta.18 2020-07-27 05:20:34 +01:00
Iain Collins
f57f11e6ff Bump version to 3.0.0-beta.17 2020-07-27 05:20:34 +01:00
Iain Collins
8b5af54e1c Update documentation 2020-07-27 05:20:34 +01:00
Iain Collins
b91bfef16d Refactor and document state provider option 2020-07-27 05:20:34 +01:00
Iain Collins
c220bcc57e Update version to 3.0.0-beta.13 2020-07-27 05:20:34 +01:00
Iain Collins
f8a4808aa7 Fix bug with NEXTAUTH_URL parsing 2020-07-27 05:20:34 +01:00
Iain Collins
8cda627fe6 Update adapter documentation 2020-07-27 05:20:34 +01:00
Iain Collins
1a8ed2aec1 Update version to 3.0.0-beta.9 2020-07-27 05:20:34 +01:00
Iain Collins
78d1983f9a Update version to 3.0.0-beta.8 2020-07-27 05:20:34 +01:00
Iain Collins
9737b4c6ab Only invoke setTimeout client side
This should never be called server side, but just in case someone calls setOptions server side this prevents it from being invoked at all.
2020-07-27 05:20:34 +01:00
Iain Collins
e9bdd5c355 Improve client event handling
Improves how well syncing client state is handled and how well caching is leveraged.

Reduces network load, cpu load and memory footprint.
2020-07-27 05:20:34 +01:00
Iain Collins
9728567296 Improve client state syncing
* clientMaxAge now passive
* clientPollInterval added (works like old clientMaxAge)
* poll intervals uses timer (more efficent)
* updates state on window focus/blur
2020-07-27 05:20:34 +01:00
Iain Collins
ef6579a7ee Refactor redirect handling (WIP)
Passing a redirect function like this is a bit horrible, but is less horrible than before.
2020-07-27 05:20:34 +01:00
Iain Collins
8e810aa765 Fix linting errors and bug in getCsrfToken 2020-07-27 05:20:34 +01:00
Iain Collins
37596edf2b Improve CSRF security for all routes
Includes breaking changes for v3 and updates to documentation.

If using the client, the only required change should be setting the NEXTAUTH_URL environment variable.
2020-07-27 05:20:34 +01:00
Iain Collins
a3479b3503 Bump version to 2.2.0 2020-06-25 22:50:50 +01:00
Iain Collins
fd6e7e94df Update version to 2.2.0-beta.0
*  New email template
*  New callback error handling

I anticipate adding more changes and a new beta before we release 2.2.0 but wanted to test these changes.
2020-06-25 18:04:35 +01:00
Iain Collins
6e16aec6d3 Update test to run linter
The action to publish to NPM fails as it can't run the DB test yet so removing that.

Changing the test to run the linter instead so it does something (e.g. catch the worst syntax errors).
2020-06-24 02:13:02 +01:00
Iain Collins
f899d7bb04 Update version to 2.1.0 2020-06-24 01:57:28 +01:00
Iain Collins
6e9a8d2074 Update beta version 2020-06-24 01:26:07 +01:00
Iain Collins
fbbe516b9a Refactor client to take configuraiton from _app.js 2020-06-24 01:26:07 +01:00
Iain Collins
9fa82cedbd Fix Auth0 provider
Resolves #301
2020-06-23 00:13:55 +01:00
Iain Collins
0eaec78399 Bump version number for release 2020-06-21 17:00:33 +01:00
Iain Collins
52f2dd5c32 Add JS wrapper to CSS to support Serverless target
Resolves #281
2020-06-21 15:07:01 +01:00
Iain Collins
758b3a88d0 Update beta version to 85 2020-06-21 04:43:13 +01:00
Iain Collins
fd8818c400 Add callbackUrl option to client methods
Resolves  #208

Also address fetchData not returning a promise when it should.
2020-06-21 02:26:34 +01:00
Iain Collins
5929de4249 Remove babel-preset-minify
It made debugging harder and I don't think it's currently worth the tradeoff.

In future we might bring it back conditionally (e.g. prod builds only).
2020-06-21 01:54:18 +01:00
Iain Collins
07c6cbccc0 Update beta version to 83 2020-06-21 01:44:41 +01:00
Iain Collins
75638db676 Bump beta version to 82 2020-06-20 11:58:28 +01:00
Iain Collins
eb49a47b0a Bump beta version to 81; hotfix for sqlite
Includes hot fix for SQLite transform.

It was not updated to support column name changes.

The fix applies the transform without relying on hard coded values so bug won't happen again.
2020-06-20 09:27:28 +01:00
Iain Collins
515facf39f Add support for mongodb+srv URLs 2020-06-20 08:23:02 +01:00
Iain Collins
b893b6485b Refactor db tests an update docs 2020-06-19 08:28:35 +01:00
Iain Collins
0686b5ff32 Bump beta version to 78 2020-06-15 08:58:10 +01:00
Iain Collins
1f4bc91d87 Add limited support for credentials sign in 2020-06-15 04:01:52 +01:00
Iain Collins
e54bf254cb Bump beta version to 76 2020-06-15 01:09:03 +01:00
Iain Collins
18c99616b3 Bump beta version to 75 2020-06-15 00:03:06 +01:00
Iain Collins
554c32c6f1 Refactoring naming strategy
Not a breaking change, just a refactor!

* Removes dependency on external library
* Resolves problem of messy logic in models and transform by putting it all in a naming strategy
* No change to table / collection schemas!
2020-06-14 14:15:28 +01:00
Iain Collins
7a0624b8db HOTFIX for sqlite schema transform 2020-06-14 04:13:26 +01:00