TIL

2020-06-24 TIL

Hoon1994 2020. 6. 24. 22:47

#Node.js

 

어제는 페이스북 로그인 시 callback 함수로 데이터를 가져오는 것까지 구현했다.

오늘은 페이스북 로그인을 마무리하려고 한다. 

 

export const facebookLoginCallback = async (_, __, profile, cb) => {
  const {
    _json: { id, name, email }
  } = profile;
  try {
    const user = await User.findOne({ email });
    if (user) {
      user.facebookId = id;
      user.avatarUrl = `https://graph.facebook.com/${id}/picture?type=large`;
      user.save();
      return cb(null, user);
    }
    const newUser = await User.create({
      email,
      name,
      facebookId: id,
      avatarUrl: `https://graph.facebook.com/${id}/picture?type=large`
    });
    return cb(null, newUser);
  } catch (error) {
    return cb(error);
  }
};

 

id, name, email 등 유저의 정보를 가져오고, Github 로그인을 처리할 때와 거의 동일하게 작성했다.

조금 다른 점은, 유저 이미지를 avatarUrl을 통해 가져온다는 점만 다르고, 그 외에는 동일하다. 

'TIL' 카테고리의 다른 글

2020-06-29 Node.js. (ChangePW, Adding Video Creator)  (0) 2020.06.29
2020-06-25 TIL  (0) 2020.06.25
2020-06-23 TIL  (0) 2020.06.23
2020-06-22 TIL  (0) 2020.06.22
2020-06-19 TIL  (0) 2020.06.19