본문 바로가기
728x90
반응형

JWT3

[TIL] 10/17 도서 API, 장바구니 API 수정 (feat.JWT) 1. 도서 API 수정 1.1. 로그인 유무에 따른 개별 조회 기능 구현 도서를 조회하는 기능은 로그인해야만 볼 수 있는 기능은 아님로그인하고 도서 개별 조회 페이지를 보는 경우 -> 유저가 좋아요를 눌렀는지 안 눌렀는지(liked) 여부 알 수 있음로그인하지 않고 도서 개별 조회 페이지를 보는 경우 -> 유저가 좋아요를 눌렀는지 안 눌렀는지(liked) 여부를 알 수 없음=> 로그인해서 토큰이 있는 경우 liked 컬럼을 함께 주고, 로그인하지 않은 경우 liked 컬럼없이 줌  로그인을 하지 않아 아예 토큰이 없는 경우 auth 모듈에서 1차로 처리-> receivedJwt 가 없는 경우 throw 로 ReferenceError 객체를 던짐// auth.jsfunction ensureAuthoriz.. 2024. 10. 20.
[TIL] 10/16 JWT - TokenExpiredError, JsonWebTokenError, authorization, ERR_HTTP_HEADERS_SENT 1. JWT 1.1. 쿠키에 JWT 담아보내기 jwt 토큰에 대한 아주 간단한 api 를 만들었다.  흐름1. 클라이언트가 서버에 /jwt 로 request 를 보냄2. 서버가 새로운 토큰 만듦 (JWT 토큰)3. 만든 토큰을 jwt 라는 이름을 가진 쿠키에 저장하고, reponse 헤더에 Set-Cookie 에 쿠키를 자동으로 포함해서 클라이언트에게 전송4. 클라이언트는 받은 쿠키를 저장하고, 이후 동일한 도메인에 요청을 보낼 때 쿠키를 자동으로 포함해서 서버로 다시 전송app.get('/jwt', function(req, res) { let token = jwt.sign({ foo: 'bar' }, process.env.PRIVATE_KEY); console.log(token); // 발급.. 2024. 10. 16.
[TIL] 9/25 next(), 인증, 인가, 로그인, 쿠키, 세션, JWT, 토큰 1. 모듈화 하기 유효성 검사를 통과하지 못했을 때 에러를 처리하는 부분이 코드에서 반복되어 모듈화를 시키고 유효성 검사 부분과 함께 배열로 만들어 get의 첫번째 매개변수로 넣어주었다.  get 의 첫번째 매개변수는 콜백함수가 실행되기 전에 먼저 실행해야할 부분으로 유효성 검사 후에러가 발생하면 validate 모듈이 실행되어 에러가 처리, 에러가 발생하지 않으면 모듈에서 빠져나와 콜백함수가 실행될 것이라고 생각했는데 그렇지 않았다.  에러가 발생한 경우에는 예상대로 처리되었지만, 에러가 발생하지 않은 경우에는 모듈 코드에서 빠져나오지 못해 request 가 제대로 처리되지 않고 무한  로딩에 빠지는 문제가 발생했다. -> 에러가 없는 경우에도 validate 가 실행이 되는데, 에러가 없는 경우 re.. 2024. 9. 26.
728x90
반응형