이제 본격적으로 페이스북 타사인증을 진행해보자.

우선, 로그인할 때 사용할 페이스북 링크 html 을 추가한다.

app.get('/auth/login', function(req, res){
  // 페이스북 링크를 추가한다.
  var output = `
  <h1>Login</h1>
  <form action="/auth/login" method="post">
    <p>
      <input type="text" name="username" placeholder="username">
    </p>
    <p>
      <input type="password" name="password" placeholder="password">
    </p>
    <p>
      <input type="submit">
    </p>
  </form>
  <a href="/auth/facebook">facebook</a>
  `;
  res.send(output);
});

페이스북 링크를 누르면, 이동할 /auth/facebook 라우터를 만들어준다.

해당 라우터는, Passport.js 홈페이지에서 facebook 타사인증을 할 때 추가해야하는 라우터를 가져다가 붙인다.

(/auth/facebook 라우터)

app.get(
  '/auth/facebook',
  passport.authenticate(
    'facebook',
  )
);

기본 라우터를 만들었다면, 이제 페이스북 타사인증을 할 때, 새롭게 만들어야할 새로운 페이스북 전략을 만든다.

페이스북 개발자 로그인을 통해서 얻은 client ID 와 clientSecret 을 입력하고, callbackURL 을 정의해준다.

(new facebookstrategy)

passport.use(new FacebookStrategy({
    // 페이스북 새로운 ID 를 입력한다.
    clientID: ?,
    // 시크릿 코드를 입력.
    clientSecret: ?,
    // 페이스북을 활용할 때는, 콜백 URL 을 사용해야한다.
    callbackURL: "/auth/facebook/callback",
  }

callback 을 통해서 다시 돌아가는 URL 을 적어주고, 다시 돌아오는 URL 을 위해서 새로운 라우터를 만들어준다.