본문 바로가기

공부/노드12

[passport-kakao] 로그아웃 구현하기 Node.js 교과서에 로그인 기능은 있지만 로그아웃 기능이없어서 공부하며 쓴 글.... passport doc에 있는 로그아웃을 참고해 만들더라도 카카오톡 로그아웃은 되지않는다. 로그아웃 후에 카카오톡 로그인을 누르는 경우 id와 비밀번호를 입력하지 않았는데도 자동 로그인이 되어버린다.. 이걸 막기위해서 열심히 찾아봄 ㅎㅎ; 준비물 axios와 passport-kakao를 사용해 로그인기능 구현 카카오 개발자 사이트 https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#unlink Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공.. 2021. 7. 7.
[passport] 이해하기 node.js 교과서와 passport.js Doc를 참고 해 작성된 글입니다. Passport 인증을 사용하기 위해 필요한 3가지 Authentication strategies (인증전략) Application middleware (미들웨어) Sessions (optional) (세션) Strategy 전략 use( )를 통해 사용할 수 있다. verify callback이 꼭 필요하다. 미들웨어 미들웨어를 사용해야한다. app.use(passport.initialize()); passport를 초기화 하기 위해서 passport.initialize 미들웨어를 사용 app.use(passport.session()); 세션 사용을 원한다면, passport.session 미들웨어를 사용 세션 세션은 유저.. 2021. 7. 7.
[express] req.body가 undefined인 경우 ✋ 에러코드 req.body 가 undefined인 경우 🤦‍♂️ 상황 form에서 데이터를 전송해 post 라우터에서 req.body.프로퍼티 명으로 데이터를 받으려 했지만 undefined가 뜬다. 👍 해결 // 내장 기능 json 제공 기능을 추가 app.use(express.json()); // url인코딩 기능을 추가한다. extended:false면 내장 쿼리 스트링 모듈을 사용한다. app.use(express.urlencoded({ extended: false })); 위 두가지를 사용하지 않아서 데이터를 파싱하지 못했던 것 같다. 쓰니까 바로 해결됨. 2021. 7. 4.
[express] - 미들웨어 뽀개기 미들웨어를 사용하는데, 미들웨어 자체에 대한 이해도가 떨어져어려움을 겪고 있어서 쓰는 글 참고자료 Writing middleware for use in Express apps 🍳 미들웨어 미들웨어는 req, res, next를 가진 함수입니다. req 클라이언트에서 오는 요청 정보가 담긴 객체 res 서버가 응답해주는 응답 정보가 담긴 객체 next next 함수를 호출하면 현재 미들웨어에 이어서 다음 미들웨어를 실행합니다. 미들웨어의 종류 app에서 사용하는 미들웨어 내 어플리케이션 전반에서 사용하는 미들웨어다. router에 사용하는 미들웨어 app에서 사용하는 미들웨어와 같지만 사용 범위가 라우터로 정해진다. 에러 처리 미들웨어 다른 미들웨어와 다르게 4개의 매개변수를 가진다. 에러를 처리하는 목적.. 2021. 7. 3.
[passport-kakao] 카카오 로그인 API Node.js 교과서 9장을 진행하며 이해가 가지않거나, 중요하다고 생각하는 개념을 정리 kakaoStrategy passport는 strategy(전략)을 통해서, 여러 인증 방법을 사용할 수 있게한다. passport-kakao는 여러 인증 방법 중, 카카오 인증 방법을 사용할 수 있게해주는 패키지다. 따라서 카카오 인증 API를 사용하기 위해서 먼저 전략을 설립해야한다. 아래 코드는 kakao API와 passport를 이용하는 로그인 Starategy의 기본 코드이다. // KakaoStrategy.js const passport = require('passport'); // passport const KakaoStrategy = require('passport-kakao').Strategy; /.. 2021. 7. 1.
[error] Uncaught TypeError: Illegal invocation ✋ 에러코드 Uncaught TypeError: Illegal invocation 🤦‍♂️ 상황 multer을 사용해서 단일 데이터를 서버에 올리는 상황 html코드 포토 제이쿼리 제이쿼리를 이용해서, 입력되는 파일이 변경될 때마다, 서버에 파일을 저장한다. 보내는 데이터는 FormData를 이용해서 전송한다. const data = new FormData(); // input의 이름이 photo인 파일데이터 중에 첫번째 것 data.append('photo', $('input[name=photo]')[0].files[0]); append 메서드로 데이터를 키-값으로 저장 $.ajax으로 전송하는데 Uncaught TypeError: Illegal invocation가 발생.. 👍 해결 $.ajax으로 .. 2021. 6. 30.