Redirect to Facebook

In the previous section, you created a page which prompts the user to sign in with Facebook. In this section, you'll add a route which redirects the user to Facebook when they click the button. It won't work just yet, because there are a few other pieces that need to be put in place. Subsequent steps will add the missing functionality and everything will work by the end of this tutorial.

Install passport and the passport-facebook strategy as dependencies.

$ npm install passport
$ npm install passport-facebook

Open routes/auth.js and require() the newly installed packages, as well as the app's database, at line 2, below require('express').

var express = require('express');
var passport = require('passport');
var FacebookStrategy = require('passport-facebook');
var db = require('../db');

Next, add a route that will redirect the user when they click "Sign in with Facebook". Continuing within routes/auth.js, add the following code at line 12, below the /login route.

router.get('/login/federated/facebook', passport.authenticate('facebook'));

Try signing in by starting the server.

$ npm start

Open http://localhost:3000, click "Sign in" and then click "Sign in with Facebook."

Uh oh... the app fails with an error indicating that the Facebook authentication strategy is unknown. That will be fixed by configuring the strategy. But first, the app needs to be registered with Facebook.