코드세이츠 FE 53번째

쫀구·2022년 7월 18일
0
post-custom-banner

📝 오늘 학습한 내용

22/07/18
앞서 배운 Https,Token,OAuth를 실습하는 시간을 가졌다. OAuth를 이용하여 깃허브로 로그인 하는 과제를 풀었는데 많이 어려웠다. 깃허브에서 내 앱을 등록하여 클라이언트 id와 클라이언트 키 를 받아 로그인을 구현하는 서버에 등록시킨다. 내 클라이언트 Authorization code 를 깃허브에서 받아와 옵션을 설정하고 API 요청을 한다음 최종 로그인.

🤔 어려웠던내용

Authorization code 를 받아와 토큰으로 받아온뒤 사용자 정보를 다시 받아와야하는데,

module.exports = async (req, res) => {
  const { accessToken } = req.body;

  // 클라이언트에서 전달받은 access token를 이용해 사용자의 정보를 가져옵니다. 다음 링크를 참고하세요.
  // https://docs.github.com/en/rest/users/users#get-the-authenticated-user
  // 이때 요청하는 서버는 Github의 Authorization 서버가 아닌 Resource Server입니다.
  return axios
    .get('https://api.github.com/user', {
      headers: {
        Authorization: `token ${accessToken}`,
      },
    })
    .then((res) => res.data)
    .then((githubUserData) => {
      res.send({ githubUserData, serverResource });
    })
    .catch((e) => {
      res.sendStatus(403);
    });
};

Authorization code 를 accressToken에 할당시키고 깃허브에 요청을 하면 유저정보를 받아올 수 있다. 근데 accessToken 값이 조회가 자꾸 안되어서 진행이 안되었다.
분명 콘솔로 Authorization code 값이 잘 확인이 되는데 서버에서 왜 제대로 요청이 안되는지 잘 모르겠다.

profile
Run Start 🔥
post-custom-banner

0개의 댓글