Inflearn brand logo image

인프런 커뮤니티 질문&답변

jasan88님의 프로필 이미지
jasan88

작성한 질문수

React, Node.js, MongoDB로 만드는 나만의 회사 웹사이트: 완벽 가이드

Ch4-5. 관리자 계정 로그인, JWT 토큰

ch4-5 관리자 계정 로그인, JWT토큰 관련

해결된 질문

작성

·

34

0

덕분에 무사히 다음 강의 듣고있는데요

또 막혔습니다;;;

image.png

 

MongoDB는 연결이 잘되는데요;;

{

id : new ObjectId(''''')
등등 터미널에 admin과 패스워드 등의 데이터카 안뜹니다;;;

답변 2

0

닭강정님의 프로필 이미지
닭강정
지식공유자

안녕하세요. 질문 주셔서 감사합니다!

챕터 4-5에서는 관리자 회원가입 이후 로그인 엔드포인트를 개발했습니다. 로그인 과정에서 MongoDB로 부터 반환된 user 정보를 확인하기 위해, 영상 4분 15초 쯤에 console.log(user)를 사용하여 유저 정보를 출력했습니다. 해당 부분이 누락되지 않았는지 확인해 주시기 바랍니다.

router.post("/login", async (req, res) => {
  try {
    const { username, password } = req.body;

    const user = await User.findOne({ username });

    console.log(user); // 이 코드가 누락되지 않았는지 확인 부탁드립니다!
  } catch (error) {
    console.log("서버 오류: ", error.message);
    res.status(500).json({ message: "서버 오류가 발생했습니다." });
  }
});

또한 이후 login 엔드포인트에는 사용자를 찾을 수 없음, 비활성화 계정 처리 등 다양한 기능이 추가될 예정입니다. 코드 작성 중 에러가 발생하면 이후 하단의 코드들은 실행되지 않으므로, console.log(user)의 위치를 적절히 조정하여 에러 발생 지점을 파악하고 디버깅을 진행해 보시기 바랍니다. 이렇게 하면 챕터 4를 보다 수월하게 마무리하실 수 있습니다. 참고 부탁드립니다. 감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다. jasan88님께서 강의를 진행하시면서 관리자 계정 로그인과 관련해 MongoDB와 JWT 토큰 사용에 관한 어려움을 겪고 계신 것 같습니다. 문제를 해결하는 데 도움이 될 수 있는 정보를 몇 가지 안내드리겠습니다.

문제의 원인 및 해결 방법

  1. 데이터베이스 연결 확인

    • MongoDB가 제대로 연결되었다면, 데이터베이스 내에 특정 컬렉션(예: 사용자 정보)을 제대로 생성하고 데이터를 삽입했는지 확인해 보셔야 합니다. mongodb 커맨드로 로컬이나 Atlas 클러스터에 연결하여 db.users.find() 같은 명령어로 사용자 데이터를 조회해 보세요.
  2. 관리자 ID와 패스워드 확인

    • 관리자 계정에 대해 ID나 비밀번호가 제대로 설정되었는지, 그리고 해당 정보를 통해 로그인을 요청할 때 올바른 데이터가 사용되고 있는지 검토해 보세요.
  3. JWT 토큰 설정 및 사용 확인

    • 로그인을 처리할 때, JWT 토큰이 올바르게 생성되고 있는지 확인하셔야 합니다. 생성 시 사용되는 secret 키와 토큰의 만료 기간 등이 적절히 설정되었는지 점검해 보세요.
    • Express 앱에서 JWT 토큰을 발급하고 이를 통해 인증을 수행할 때, 반드시 클라이언트 측에서 응답 받은 토큰을 저장하고 요청 시 헤더에 포함하도록 설정해야 합니다.
  4. 로그 발생 여부

    • Backend 로그 또는 콘솔에서 오류가 발생하고 있는지, 이상한 점이 없는지 살펴보세요. 특정 요청이나 인증 단계에서 오류 메시지가 있으면 문제 해결에 큰 도움이 될 수 있습니다.

추가 자료 및 권장 URL

위에서 제시한 방법과 참고 자료를 통해 문제를 빠르게 해결하시기를 바라겠습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

jasan88님의 프로필 이미지
jasan88

작성한 질문수

질문하기