We technically have built authentication into our application already, but it is definitely not ready for production. We are going to need an authentication framework that will allow users to sign up using accounts they already have and to create a local user account. Node.js has a great and extensible authentication framework: Passport. It has a foundation package that will easily integrate with Express. In addition to this, it has over 140 strategies (what Passport calls its authentication plugins) to use. If Passport cannot authenticate it, no one is probably using it. We will cover the following topics in this chapter:
How to register applications for Facebook and Google
How to authenticate to Facebook
How to authenticate to Google
How to authenticate locally