오늘 배운 내용 📚
- 토큰을 이용하여 사용자 인증 시스템 개발
- 에러 객체 처리
추가 정리 내용 📑
오늘 수업은 전체 적인 기능구현이 끝난 코드에 인증 처리를 하는 것이었습니다. 이전에는 필요한 곳에 Auth 미들웨어를 실행하는 방식으로 진행했던 게 생각나서 이번에도 미들웨어로 만들어서 인증처리를 해보았습니다. 모든 사이트에 인증이 필요한 건 아니지만 기본적으로 인증시스템을 이용하여 처리하고 싶은 부분이 있어서(ex. 로그인 인증이 되어있다면 로그인페이지 접근 시 잘못된 접근입니다. 경고 문구 보내기) 미들웨어를 app.use()를 통해 전체 적용을 하였는데 이때 문제가 발생했습니다. 토큰을 받아올 때 header에 jwt 토큰을 넣어서 테스트를 진행하였는데 필요 없는 곳에서는 따로 header에 토큰을 넣지 않아서 JsonWebTokenError를 발생했기 때문이었습니다. 일단 해당 정리가 안된 부분이 있어서 해당 에러를 부정하기 위해 조건절로 receiverJwt가 존재할 때만 코드가 동작하게 실행하였고 그 외에는 바로 next()를 통해 다음 코드를 불러오게 설정해 놓았습니다.
오늘 수업에서 강사님과 차이를 둔 곳은 바로 상세주문내역이었습니다. 주문내역의 경우에는 주문자 즉, 로그인한 유저가 주문한 유저인지를 확인하는 코드가 없어 누구나 상세주문내역을 확인할 수 있는 부분이었는데 저는 그 부분을 로그인 유저와 주문한 유저와 일치할 때만 주문내역을 보여주고 그 외에는 잘못된 접근 메시지를 보내게 작성하였습니다.
추가적으로 로그인 페이지에 접근하는 경우도 추가해보 았습니다. 위에 로그인이 된 상태라면 로그인페이지에 접근을 할 수 없게 해야 하는데 1차적으로 프런트엔드에서 로그인 시 링크를 로그아웃/ 마이페이지로 보여주는 것이라면 해당유저가 주소를 입력하여 들어오는 경우도 생각해서 /signin으로 접근한 사람 중에 token 발급자가 있다면 잘못된 접근 혹은 이미 로그인을 완료하였다는 문구를 전달할 수 있게 , BAD_REQUEST로 설정을 해놓았습니다.
오늘의 이슈 😰
JsonWebTokenError의 경우에는 jwt가 잘못된 경우도 존재하지만 header에 작성하지 않는다면 jwt must be provided와 같이 무조건 jwt를 제공하라는 에러가 발생
해결법 아직 못 찾음
'프로그래머스 데브코스 > TIL' 카테고리의 다른 글
[Day 46] 웹 풀사이클 데브코스 TIL (0) | 2024.01.16 |
---|---|
[Day 45] 웹 풀사이클 데브코스 TIL (0) | 2024.01.15 |
[Day 43] 웹 풀사이클 데브코스 TIL (0) | 2024.01.12 |
[Day 42] 웹 풀사이클 데브코스 TIL (0) | 2024.01.10 |
[Day 41] 웹 풀사이클 데브코스 TIL (0) | 2024.01.09 |