module.exports = (router) => {

  const {passport, HandleAuthPopupCallback} = require('services/passport');

  /**
   * Facebook auth endpoint, this will redirect the user immediatly to facebook
   * for authorization.
   */
  router.get('/api/v1/auth/facebook', passport.authenticate('facebook', {display: 'popup', authType: 'rerequest', scope: ['public_profile']}));

  /**
   * Facebook callback endpoint, this will send the user a html page designed to
   * send back the user credentials upon sucesfull login.
   */
  router.get('/api/v1/auth/facebook/callback', (req, res, next) => {

    // Perform the facebook login flow and pass the data back through the opener.
    passport.authenticate('facebook', {session: false}, HandleAuthPopupCallback(req, res, next))(req, res, next);
  });
};
