For small JS projects, I use Passport[0] as it is quite simple to implement and has ton of examples (including how to use it with Next).
For bigger projects where I need a full-fledged and reliable solution out of the box, I use Ory[1].
For bigger projects where I need a full-fledged and reliable solution out of the box, I use Ory[1].
I find Passport to be a dumpster fire of complexity and foot guns while Ory Kratos[0] + Ory Oathkeeper[1] have been the simplest way to add Auth to a project now (even for an MVP).
I've been using the zero trust proxy tutorial[2] and copy pasting the configs over. I just chuck some containers into Docker Compose and it goes. I don't even have to write the UI because Kratos does that but.
0: https://www.ory.sh/docs/kratos
1: https://www.ory.sh/docs/oathkeeper
2: https://www.ory.sh/docs/kratos/guides/zero-trust-iap-proxy-i...