327 Commits

Author SHA1 Message Date
Balázs Orbán
f2a7ee0b34 fix: make OAuth 1 work after refactoring (#1218)
* chore: add twitter provider to dev app

* feat: bind client instance to overriden methods

* fix: don't add extra params to getOAuthRequestToken

* chore: add twitter to env example, add secret gen instructions
2021-02-01 10:01:10 +01:00
Balázs Orbán
d7e78d5996 fix: leave accessTokenExpires as null
Forwarding expires_in as is to accessTokenExpires has shown to cause issues with Prisma, and maybe with other flows as well. Setting it back to `null` for now. We still forward `expires_in`, so users can use it if they want to.

Fixes #1216
2021-02-01 10:01:10 +01:00
Vova
ad3b0b6a7d feat(provider): Add Medium (#1213) 2021-02-01 10:01:10 +01:00
Balázs Orbán
f4a954ccbb feat: send all params to logger function (#1214) 2021-02-01 10:01:10 +01:00
Balázs Orbán
93f051ce08 refactor: provide raw idToken through account object (#1211)
* refactor: provide raw idToken through account object

* docs: clear up accessToken naming

* refactor: provide raw token response to account

* chore: fix grammar in comments
2021-02-01 10:01:10 +01:00
Balázs Orbán
9c9744f30a fix: forward second argument to fetch body in signIn
fixes #1206
2021-02-01 10:01:10 +01:00
Dillon Mulroy
65e4910618 fix: Add a null check to the window 'storage' event listener (#1198)
* Add a null check to the window 'storage' event listener

While testing in Cypress it's possible to receive a null value on Storage Events when 'clear' is called and will cause errors as seen in #1125.

* Update index.js

typo

* Update src/client/index.js

Co-authored-by: Balázs Orbán <info@balazsorban.com>

* formatting

Co-authored-by: Balázs Orbán <info@balazsorban.com>
2021-02-01 10:01:10 +01:00
Balázs Orbán
30c6d6360f fix: send /authorize params through url 2021-02-01 10:01:10 +01:00
Balázs Orbán
214b22ecbb feat(provider): re-add state, expand protection provider options (#1184)
* refactor: move OAuthCallbackError to errors file

* refactor: improve pkce handling

* feat(provider): re-introduce state to provider options

* docs(provider): mention protection options "state" and "none"

* docs(provider): document state property deprecation

* fix: only add code_verifier param if protection is pkce

* docs: explain state deprecation better

* chore: unify string
2021-02-01 10:01:10 +01:00
Balázs Orbán
f50ac194aa chore(provider): remove Mixer (#1178)
"Thank you to our amazing community and Partners.
As of July 22, the Mixer service has closed."
2021-02-01 10:01:10 +01:00
Balázs Orbán
a7bae0395b fix: fix lint issues 2021-02-01 10:01:10 +01:00
Balázs Orbán
71b3122fd1 fix: use startsWith for protocol matching in parseUrl
closes #842
2021-02-01 10:01:10 +01:00
Luke Lau
1caa9bb813 fix(provider): use authed_user on slack instead of spotify (#1174) 2021-02-01 10:01:10 +01:00
Mohamed El Mahallawy
2f3ed7507b feat(provider): add Salesforce provider (#1027) 2021-02-01 10:01:10 +01:00
Balázs Orbán
a15bdc191b fix: correct logger import 2021-02-01 10:01:10 +01:00
Balázs Orbán
ea71a1fb2f feat: add PKCE support (#941)
* chore(deps): upgrade dependencies

* chore(deps): add pkce-challenge

* feat(pkce): initial implementation of PCKE support

* chore: remove URLSearchParams

* chore(deps): upgrade lockfile

* refactor: store code_verifier in a cookie

* refactor: add pkce handlers

* docs: add PKCE documentation

* chore: remove unused param

* chore: revert unnecessary code change

* fix: correct variable names
2021-02-01 10:01:10 +01:00
Zhao Lei
42a822c407 feat(provider): add option to generate email verification token (#541)
* Add option to generate email verification token

* chore: remove unused import

* refactor: define default generateVerificationToken in-place

* refactor: define default generateVerificationToken in-place

Co-authored-by: Nico Domino <yo@ndo.dev>
Co-authored-by: Balázs Orbán <info@balazsorban.com>
2021-02-01 10:01:10 +01:00
Henrik Wenz
2cfe5ad879 fix(adapter): fix ISO Datetime type error in Prisma updateSession (#640)
Co-authored-by: Nico Domino <yo@ndo.dev>
Co-authored-by: Balázs Orbán <info@balazsorban.com>
2021-02-01 10:01:10 +01:00
Balázs Orbán
cba149f4b6 feat: forward signIn auth params to /authorize (#1149)
* refactor: authorisation -> authorization

* feat: forward authorizationParams from signIn function

* refactor: take auth params as third argument

* docs: document signIn authorizationParams
2021-02-01 10:01:10 +01:00
Balázs Orbán
31bb2c342c chore(adapters): remove fauna (#1148) 2021-02-01 10:01:10 +01:00
t.kuriyama
e26297b901 feat: add native hkdf (#1124)
* feat: add native hkdf

* feat: import only needed to do hkdf

* feat: tweak digest and arguments
2021-02-01 10:01:10 +01:00
Aymeric
fbb5a12cbd feat(provider): finish Reddit provider and add documentation (#1094)
* Create reddit.md

* uncommented profile callback

* Update reddit.md

* fix lint issues

* added reddit provider

* added reddit provider

* Add Reddit Provider

For some reason a bunch of providers got deleted in the last commit

* Add Reddit Provider

* Add Reddit Provider
2021-02-01 10:01:10 +01:00
Balázs Orbán
70a186c183 style: make p system theme aware [skip release] 2021-02-01 10:01:10 +01:00
Balázs Orbán
cff9d3e294 fix: export getSession [skip release]
somehow the default export does not work in the dev app
2021-02-01 10:01:10 +01:00
Balázs Orbán
b84f1b681c refactor: be explicit about path in jsonconfig [skip release] 2021-02-01 10:01:10 +01:00
Ben
ea1d09bf83 feat(provider): add LINE provider (#1091) 2021-02-01 10:01:10 +01:00
Balázs Orbán
a18ec09307 feat(pages): add dark theme support (#1088)
* feat(pages): add dark theme support

* docs: document theme option

* chore: remove ts-check from dev app

* style(pages): fix some text colors in dark mode
2021-02-01 10:01:10 +01:00
Alex B
b1a99ec32f feat: replace blur/focus event to visibility API for getSession (#1081) 2021-02-01 10:01:10 +01:00
Balázs Orbán
ca065604a3 fix: pass csrfToken to signin renderer 2021-02-01 10:01:10 +01:00
Balázs Orbán
77de2abd14 feat: improve package development experience (#1064)
* chore(deps): add next and react to dev dependencies

* chore: move build configs to avoid crash with next dev

* chore: add next js dev app

* chore: remove .txt extension from LICENSE file

* chore: update CONTRIBUTING.md

* chore: watch css under development

* style(lint): run linter on index.css

* chore: fix some imports for dev server

* refactor: simplify client code

* chore: mention VSCode extension for linting

* docs: reword CONTRIBUTING.md

* chore: ignore linting pages and components
2021-02-01 10:01:10 +01:00
Balázs Orbán
f6d6c4344c refactor: code base improvements 3 (#1072)
* refactor: extend res.{end,send,json}, redirect

* refactor: chain res methods, remove unnecessary ones

* refactor: simplify oauth callback signature

* refactor: code simplifications

* refactor: re-export everything from routes in one

* refactor: split up main index.js to multiple files

* refactor: simplify passing of provider(s) around

* refactor: extend req with callbackUrl inline

* refactor: simplify page rendering

* refactor: move error page redirects to main file, simplify renderer

* refactor: inline req.options definition

* refactor: simplify error fallbacks

* refactor: remove else branches and unnecessary try..catch

* refactor: add docs, and simplify jwt functions

* refactor: prefer errors object over switch..case in signin page

* feat: log all params sent to logger instead of only first

* refactor: fewer lines input validation

* refactor: remove even more unnecessary else branches
2021-02-01 10:01:10 +01:00
Evgeniy Boreyko
e8b1513899 feat(provider): add vk.com provider (#1060)
* feat(provider): add vk.com provider

* refactor(provider): reduce vk.com provider api
2021-02-01 10:01:10 +01:00
Balázs Orbán
505efc8a5d fix: remove async from NextAuth default handler
This function should not return a Promise
2021-02-01 10:01:10 +01:00
Balázs Orbán
76b983229a feat(provider): reduce user facing API (#1023)
Co-authored-by: Balazs Orban <balazs@nhi.no>
2021-02-01 10:01:10 +01:00
Balázs Orbán
ecddaf696b fix: use authorizationUrl correctly 2021-02-01 10:01:10 +01:00
Balázs Orbán
b43e7dca43 fix: trigger release 2021-02-01 10:01:10 +01:00
Balázs Orbán
e7c34fd74b refactor: code base improvements 2 (#1045) 2021-02-01 10:01:10 +01:00
Balázs Orbán
e0dd8e400b docs: misc improvements [skip release] (#1043) 2021-02-01 10:01:10 +01:00
Balázs Orbán
9ed75c7788 fix: don't chain on res.end on non-chainable res methods (#1031) 2021-02-01 10:01:10 +01:00
Balázs Orbán
8e8713755a fix: miscellaneous bugfixes (#1030)
* fix: use named params to fix order

* fix: avoid recursive redirects

* fix: revert to use parsed baseUrl

* fix: avoid recursive res.end calls

* fix: use named params in renderPage

* fix: promisify lib/oauth/callback result
2021-02-01 10:01:10 +01:00
Balázs Orbán
a979e040cd feat: forward id_token to jwt and signIn callbacks (#1024) 2021-02-01 10:01:10 +01:00
Didi Keke
2205cfa754 feat(provider): Add Mail.ru OAuth Service Provider and Callback snippet (#522)
* Update callback.js

- Fix Mail.ru bug (missing request parameter: access_token)

Note: setGetAccessTokenProfileUrl should be added to Mail.ru provider to enable support.

* Add Mail.ru OAuth Service Provider

* Update callbacks.md

- Fix broken callbacks snippet.

* Update callback.js

- Bug fix https://github.com/nextauthjs/next-auth/pull/522#issuecomment-669851914
- Minor refactoring.

* Fix: Code linting.

* Update callback.js

Improve approach for building of URL based review recommendation.

* Feat: Reduce API surface expansion

Make use of provider.id === "mailru" as suggested in review discussion in place of setGetAccessTokenProfileUrl.

* Fix: Code linting
2021-02-01 10:01:10 +01:00
Balázs Orbán
0989ef6171 refactor: code base improvements (#959)
* chore: fix casing of OAuth

* refacotr: simplify default callbacks lib file

* refactor: use native URL instead of string concats

* refactor: move redirect to res.redirect, done to res.end

* refactor: move options to req

* refactor: improve IntelliSense, name all functions

* fix(lint): fix lint errors

* refactor: remove jwt-decode dependency

* refactor: refactor some callbacks to Promises

* revert: "refactor: use native URL instead of string concats"

Refs: 690c55b04089e4f3157424c816d43ee4cecb77a0

* chore: misc changes

Co-authored-by: Balazs Orban <balazs@nhi.no>
2021-02-01 10:01:10 +01:00
Balázs Orbán
15570b7479 feat: allow to return string in signIn callback (#1019) 2021-02-01 10:01:10 +01:00
Florian Michaut
751fd7bb0e feat(db): make Fauna DB collections & indexes configurable (#968)
* Add collections & indexes overrides for Fauna DB

* Fix the name of the verification token index

Co-authored-by: Florian Michaut <florian@coding-days.com>
2021-02-01 10:01:10 +01:00
Yuma Matsune
f93dbbbfee fix(adapter): use findOne for typeorm (#1014) 2021-02-01 10:01:10 +01:00
Balázs Orbán
e3fd0ad450 fix: treat user.id as optional param (#1010) 2021-02-01 10:01:10 +01:00
Paul Kenneth Kent
42596fbca5 feat: add strava provider (#986)
* Add Strava as a provider

* Add documentation for Strava provider

* Fix lint errors

Co-authored-by: Paul Kenneth Kent <paul@ventureharbour.com>
2021-02-01 10:01:10 +01:00
Jakub Naskręski
989d23e827 feat: Display error if no [...nextauth].js found (#678)
* Display error if no [...nextauth].js found

fixes #647

* Log the error and describe it inside errors.md

Co-authored-by: Balázs Orbán <info@balazsorban.com>
2021-02-01 10:01:10 +01:00
Luke Lau
6e2fc11d64 feat: Store user ID in sub claim of default JWT (#784)
This allows us to check if the user is signed in when using JWTs

Part of #625
2021-02-01 10:01:10 +01:00