[Express] Passport.js 자격 확인

Featured image for [Express] Passport.js 자격 확인

0. 출처 passport.js 자격확인 – 생활코딩 passport-local Local username and password authentication strategy for Passport. https://dc-choi.tistory.com/47 1. 자격확인 기존에 로그인 요청을 처리하는 코드다. 해당 부분을 passport를 통해서 처리하도록 수정한다. 2. passport.authenticate() 가. authenticate() passport.authenticate()의 reference다. 우선 URL에 따라서 알맞은 로그인 strategy를 선택한다. (string 혹은 string[]) 로그인 요청의 결과가 성공인지 실패인지에 따라서 추가적인 동작을 수행한다. 추가적인 … 더 읽기

[Express] Passport.js 시작하기

0. 출처 passport.js 설치 – 생활코딩 passport-local Local username and password authentication strategy for Passport. 1. Strategy 선택 사용할 Strategy를 검색해서 찾는다. Passport.js Simple, unobtrusive authentication for Node.js 2. Passport.js 설치하기 구글, 페이스북, 카카오톡 등으로 로그인하는 것은 추후에 시도해 보고 이번에는 정통적으로 사용해 온 아이디와 비밀번호로 로그인하는 것을 Passport.js로 구현해보겠다. passport와 사용할 strategy를 설치한다. 대부분의 … 더 읽기

[Express] Passport.js이란?

Featured image for [Express] Passport.js이란?

0. 출처 Passport.js – 생활코딩 1. Passport.js 최근에는 간편 로그인, ~로 로그인하기 등 다양한 인증 방식이 사용된다. 또한 다양한 서비스 간의 통합이 활발해졌다. 개발자들은 기본적인 아이디와 비밀번호부터 OAuth, OpenID, SAML과 같은 복잡한 인증 프로토콜까지 다양한 방식을 통해 인증 기능을 구현해야 했다. 또한 인증 기능은 잘못 구현할 시 큰 보안 사고가 발생한다. 인증 기능을 구현하는 것은 … 더 읽기

[Express] Session으로 인증 구현하기_2

Featured image for [Express] Session으로 인증 구현하기_2

0. 출처 express-session을 이용한 인증구현 – 생활코딩 오픈튜토리얼 생활코딩 참고. 1. UI 반영 로그인 상태에 따라서 다른 authStatusUI를 생성함. html에 req.authStatusUI를 추가한다. 모든 get method에 auth.statusUI 미들웨어를 추가한다. login 상태 logout 상태 세션 데이터를 읽어서 로그인한 상태인지 확인한다. 로그인한 경우 닉네임과 logout 링크를 보여준다. 로그인하지 않은 경우는 login 링크를 보여준다. 2. 로그아웃 logout 링크를 클릭하면 … 더 읽기

[Express] Session으로 인증 구현하기_1

Featured image for [Express] Session으로 인증 구현하기_1

0. 출처 express-session을 이용한 인증구현 – 생활코딩 오픈튜토리얼 생활코딩 참고. 1. 목표 세션을 활용해서 로그인 기능을 구현한다. 당장은 다중 사용자를 고려하기보단, 하나의 ID, Password만 사용해서 로그인하는 것을 가정한다. 단일 사용자 환경에서 인증, 인가를 모두 구현한 다음, 추후 다중 사용자 환경에서도 동작하도록 확장할 계획이다. 2. 인증 기능 구현 가. 링크 추가 day (혹은 night) 버튼 옆에 … 더 읽기

[Express] Session이란?

Featured image for [Express] Session이란?

  1. 세션 앞서 쿠키를 사용해서 인증을 구현하면 생기는 문제점에 대하여 알아보았다. 쿠키를 통해서 인증 기능을 구현하면 민감한 개인 정보를 쿠키에 저장해야 하는 심각한 보안 문제가 발생한다. 그래서 이번 기회를 빌어 인증 기능을 구현하기 위햇 많이 사용하는 ‘세션’에 대하여 공부해 보겠다. 가. 세션이란? 세션(session)은 컴퓨터 과학에서, 특히 네트워크 분야에서 반영구적이고 상호작용적인 정보 교환을 전제하는 둘 … 더 읽기

[Node.js] 쿠키의 한계

Featured image for [Node.js] 쿠키의 한계

  1. 인증 부분의 한계 민감한 정보를 클라이언트 쪽에 저장한다는 것은 위험하다. 또한 쿠키는 쉽게 탈취당할 수 있기 때문에 민감한 정보를 저장하는 것에 어울리지 않는다. 그렇기 때문에 요즘에는 인증을 구현하기 위해서 쿠키보다는 세션이나 JWT를 사용한다. 그중에서 세션을 사용하면 서버 측에서 사용자에 대한 정보를 안전하게 저장하고, 클라이언트에는 세션 ID만을 저장하여 보다 안전하다. 그 외에도 세션은 …와 … 더 읽기

[Express] 쿠키로 다크모드 구현

Featured image for [Express] 쿠키로 다크모드 구현

1. 쿠키를 활용해서 다크모드 구현하기 기존 페이지는 리로딩할 때마다 다크모드가 꺼지는 문제가 있었다. 그래서 다른 페이지로 이동하거나 리로딩해도 다크모드가 그대로 유지되도록 해보자. 가. 쿠키 생성 다크모드에 관한 정보를 저장하는 쿠키를 만든다. 1) cookie-parser 설치 2) 미들웨어 추가 cookieParser와 새로 만든 checkCookie.checkDarkMode 미들웨어를 추가한다. 사실 모든 요청마다 checkCookie.checkDarkMode가 필요한 것은 아니라서 http get method에만 동작하도록 수정한다. … 더 읽기

[Node.js] 쿠키 옵션

Featured image for [Node.js] 쿠키 옵션

0. 참고자료 쿠키 옵션 – Secure & HttpOnly – 생활코딩 쿠키 옵션 – path & domain – 생활코딩 쿠키와 document.cookie 1. Secure & HttpOnly 쿠키를 훔쳐가는 행위를 막기 위한 방법. 가. Secure Secure는 웹브라우저와 웹서버가 https로 통신하는 경우만 웹브라우저가 쿠키를 서버로 전송하는 옵션. 안전한 상황에서만 쿠키를 전송한다. 나. HttpOnly HttpOnly는 자바스크립트의 document.cookie를 이용해서 쿠키에 접속하는 … 더 읽기

[Node.js] 세션 쿠키, 영구 쿠키

Featured image for [Node.js] 세션 쿠키, 영구 쿠키

0. 참고자료 Session 쿠키 VS Permanent 쿠키 – 생활코딩 쿠키와 document.cookie 1. 쿠키의 종류 2. 세션 쿠키 세션 쿠키를 만들기 위해서 별도로 해줄 건 없다. expires(유효 일자)나 max-age(만료 기간) 옵션이 지정되어있지 않으면, 브라우저가 닫힐 때 쿠키도 함께 삭제된다. 3. 영구 쿠키 세션 쿠키에 Max-Age나 Expires 같은 옵션을 추가하면 영구 쿠키가 된다. 가. Max-Age 하루동안 유효한 … 더 읽기