Backend/NodeJS3 [body-parser] 게이트웨이 서버와 body-parser 그리고 raw-body 최근 회사에서 유저 인증과 게이트웨이 역할을 하는 인증 게이트웨이 서버를 사용했다. 간단하게 설명하면 인증 게이트웨이 서버는 로그인을 하는 역할을 하며 동시에 로그인이 된 유저는 특정 endpoint로 요청을 하고 해당 요청을 원하는 endpoint로 중계해 주는 역할을 하는 서버이다. API연동을 하는 도중 프론트팀에서 GET요청에 대해서는 문제없이 동작하는데 POST, PUT이 동작을 안 한다는 것이었다. 특정 에러 코드도 없이 그냥 pending 걸리다가 timeout이 났다. 서버쪽 로그를 확인해 봐도 이상이 없었다. 진짜 도저히 모르겠어서 팀장님께 말씀드려보니 아 그거 body-parser에서 문제 있는 거 아니에요? 하셨다. body-parser? 왜지..? 하다가 오류를 수정하기 위해 찾아본.. 2023. 6. 25. [passport] passport req에 따라 다르게 처리하기 Bearer 문서 보다가 답답해서 모듈 까보기 회사에서 업무를 하던중 passport bearer 전략을 사용하면서 req에 따라 2가지의 다른 인증 방법을 사용해야 하는 경우가 발생을 했다. 요구사항 간단하게는 API서버에 request 하는 하는 주체가 인증서버를 통하고 들어오는 요청이 있고, 인증 서버를 거치지 않고 요청이 들어오는 2가지의 경우가 있는데, 여기서 둘 다 bearer 토큰을 사용하고 있으나, 특정 인증서버를 타고 들어오는 요청과 인증서버를 타지 않는 요청을 구분해서 다른 인증 로직을 구현해야 했다. 아래는 passport.org에 나와있는 bearer 사용방법에 대한 설명이다. // Bearer 전략 등록 passport.use(new BearerStrategy( function(t.. 2023. 6. 25. class에서 static과 prototype의 차이 nodejs에서 class는 인스턴스를 생성하는 방식중 하나 입니다. class를 사용해서 인스턴스를 생성하는 경우와 생성자 함수를 통해 인스턴스를 생성하는 경우의 차이에 대해 비교해보고, class에서 메소드를 정의하는 방법에 대해서 이야기 해보려 합니다. 생성자 함수를 이용한 인스턴스 생성 function User(name, age) { this.name = name; this.age = age; this.sayHi = function (){ console.log('hello~!'); return; }; }생성자 함수를 활용하여 인스턴스를 생성하는 방법은 위의 방법과 같습니다. 생성자 함수를 사용해 인스턴스를 생성하는 방법은 js에서 인스턴스를 생성하는 가장 기초적인 방법입니다. 다만 .. 2022. 5. 6. 이전 1 다음