javascript – Qual a melhor forma de lidar com autenticação e autorização em um projeto Node.js?


Há muitas tecnologias disponíveis (por ex., JWT, Passport.js, sessões com cookies), mas nenhuma parece suficientemente segura pra montar o meu próprio sistema de autenticação e autorização, por conta de possíveis ataques CSRF e XSS.

Pensando nisso, qual é a melhor alternativa priorizando sempre a segurança máxima? Vale a pena terceirizar a autenticação e autorização para um provedor como Google ou Facebook, apesar dos custos?