This example demonstrates how to use Express 4.x and Passport to log users in with Facebook. Use this example as a starting point for your own web applications.
To get started with this example, clone the repository and install the dependencies.
$ git clone [email protected]:passport/express-4.x-facebook-example.git
$ cd express-4.x-facebook-example
$ npm installThis example requires credentials from Facebook, which can be obtained by
creating an
app in the App Dashboard.
The OAuth redirect URI of the app should be set to: http://localhost:3000/oauth2/redirect/www.facebook.com
Once credentials have been obtained, create a .env file and add the following
environment variables:
FACEBOOK_CLIENT_ID={{INSERT_APP_ID_HERE}}
FACEBOOK_CLIENT_SECRET={{INSERT_APP_SECRET_HERE}}
Start the server.
$ npm startNavigate to http://localhost:3000.
This example illustrates how to use Passport and
the passport-facebook
strategy within an Express application to log users in
with Facebook.
The example builds upon the scaffolding created by Express generator, and uses EJS as a view engine and plain CSS for styling. This scaffolding was generated by executing:
$ express --view ejs express-4.x-facebook-example
The example uses SQLite for storing user accounts. SQLite is a lightweight database that works well for development, including this example.
Added to the scaffolding are files which add authentication to the application.
- 
This file initializes the database by creating the tables used to store user accounts and credentials. 
- 
This file initializes Passport. It configures the Facebook strategy and supplies the serialization functions used for session management. 
- 
This file defines the routes used for authentication. In particular, there are three routes used to authenticate with Facebook: - 
GET /loginThis route renders a page that prompts the user to login with Facebook. 
- 
GET /login/federated/www.facebook.comThis route begins the authentication sequence by redirecting the user to Facebook. 
- 
POST /oauth2/redirect/www.facebook.comThis route completes the authentication sequence when Facebook redirects the user back to the application. When a new user logs in, a user account is automatically created and their Facebook account is linked. When an existing user returns, they are logged in to their linked account. 
 
-