작성
·
93
1
먼저 회원가입을 하면 데이터베이스에 잘 들어갑니다 작성한 데이터가
이런식으로 회원가입과 로그인은 잘 되어서 db에 데이터가 넘어가지만 게시글 작성시 nickname과 token이 null로 나옵니다 .
이런식으로도 null이 문제라고 하는데
밑에 코드를 보시면
어느 부분인지 찾지 못해서 며칠동안 해결을 못하고 있습니다 자문 부탁드려요 ㅠ
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
pbg1114님의 질문에 대한 답변입니다. 문제 해결을 위해 몇 가지 요소를 점검해보아야 할 것 같습니다.
프론트엔드에서 토큰 및 사용자 정보 저장 확인: localStorage
에 저장된 userNick
과 토큰이 정상적으로 저장되고 있는지 확인해보세요. 문제의 이미지 중 하나에서 localStorage.getItem('userNick')
과 토큰을 가져오는 부분이 보입니다. 이 부분에서 정상적으로 값을 받아오는지 콘솔 로그를 통해 다시 한 번 확인해 보시기 바랍니다.
백엔드 JWT 파싱 로직 점검: 백엔드에서 토큰에서 사용자 닉네임(userNick
)을 추출하는 로직(JwtUtils
클래스의 extractUserNickFromToken
메소드)이 정상 작동하는지 점검해보세요. 토큰이 올바르게 전달되었음에도 불구하고 null을 반환하는 경우가 있을 수 있습니다. 따라서, 이 메소드 내에서 예외처리 및 로깅을 통해 어떤 문제가 발생하는지 분석해보세요.
Controller 메소드에서 토큰 유효성 검증: writeBoard
메소드 내에서 전달받은 토큰의 유효성을 검사하는 로직이 정확하게 구현되어 있는지 확인해보세요. 토큰이 null
이거나 “Bearer”로 시작하지 않는 경우에 대한 처리가 적절한지, 그리고 토큰에서 사용자 닉네임을 추출한 후 정상적으로 UserInfo
를 조회하는 로직이 제대로 동작하는지 검토하세요.
이 세 가지 점검을 통해 문제의 원인을 좁혀보실 수 있을 겁니다. 특히, 프론트엔드에서 정상적으로 토큰과 사용자 닉네임을 저장하고 전달하는지, 백엔드에서 이를 올바르게 처리하는지를 중점적으로 확인해 보시기 바랍니다. 문제 해결에 도움이 되길 바랍니다.