Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- HTML
- CLONE
- nodejs
- graphQL
- 리액트
- Mongoose
- Component
- ES6
- clonecoding
- Session
- express
- javscript
- MongoDB
- Flutter
- react
- form
- frontend
- JavaScript
- backend
- GRID
- pug
- CSS
- node.js
- NextJs
- TypeScript
- DART
- heroku
- API
- 자바스크립트
- ECMAScript
Archives
- Today
- Total
Enjoy Programming
passport authentication 정리 본문
사용자 정의 인증방식과 깃헙strategy 방식 두가지를 했다.
사용자 정의 인증방식(passport-local)은
username과 passport를 post방식으로 전달하고 passport-local-mongoose 플러그인을 통해 자동으로 체크해준다.
만약 password가 일치하면 passport가 쿠키를 자동으로 생성한다
passport-github strategy는
먼저 사용자를 깃헙 페이지로 보내고 깃헙에서 권한 승인을 하고 이후 깃헙은 요청한 웹에 인증정보를 전송하고
내가 설정한 callback url로 오게 된다. 이때 passport가 내가 만들어놓은 콜백함수를 호출한다
이콜백 함수는 토큰과 프로필 cb를 받게되고 프로필의 이메일 값을 db의 유저들중 같은 이메일이 있는지 확인하고
있으면 업데이트 없으면 새로운 유저를 생성해준다. 그리고 필수 조건인 cb함수를 return해줘야 한다.
이 cb함수는 error와 user 유무를 확인하고 user가 있으면 passport는 이 user정보를 가지고 쿠키를 만들고
저장하고, 이 쿠키를 브라우저로 보낸다. 그리고 그다음 로그인 컨트롤러를 이용해서 로그인하고 홈화면으로 이동시킨다
끝!!
'JavaScript > Node.JS' 카테고리의 다른 글
Express - faebook Log In (0) | 2021.05.13 |
---|---|
Express - User profile (0) | 2021.05.13 |
Express - Github Login - create user (0) | 2021.05.13 |
Express - Github Log In (0) | 2021.05.12 |
Express - MongoStore and MiddleWares (0) | 2021.05.12 |