WEB7 - Login with Google WEB5와 WEB6에서는 Passport의 local strategy(전략)을 사용하며 Passport의 작동 원리와 인증 시스템 전반에 대해 공부했다. 이를 바탕으로 이번 WEB7에서는 각각 구글과 페이스북 계정을 연동해 웹 서비스에서 인증 기능을 구현하는 것을 배웠다. 우선 구글 전략(Google Strategy)을 먼저 진행했다. npm으로 passport-google-oauth 패키지를 설치했고, Passport.js 공식 홈페이지의 가이드 대로 구글 인증을 위한 코드를 추가했다. 다음으로는 Google Cloud Platform에 방문 해 'WEB7-Passport-Google'이라는 이름의 프로젝트를 생성했다. 이후 사용자 인증 정보(Credenti..
WEB6 - Multi User Auth WEB5에서 발생한 문제를 해결한 후, 드디어 WEB6를 시작했다. 제목은 'Multi User Auth'로, 한 명의 사용자만 로그인할 수 있었던 기존의 서비스를 개선해 여러 명의 사용자가 로그인할 수 있는 서비스를 구현하는 방법을 배우는 강의였다. WEB5 - Passport를 두 번 학습하며 Passport에 대한 이해도도 높아졌고, 다중 사용자는 실질적으로 웹 서비스를 만들 때 필수적인 기능이었기에 기대가 되었다. WEB5에선 한 명의 사용자만 존재했기 때문에, 미리 auth.js 파일에 사용자의 정보를 저장해 두었고, 웹 상에서 새로운 사용자를 등록하는 것은 불가능했다. 하지만 다중 사용자 시스템에서는 새로운 사용자의 등록이 필수적이었고, 이를 위해 re..
계획의 재검토 지난번 작성한 Passport.js 글에서도 잠깐 언급했지만, 그 다음 강의는 DATABASE2 - lowdb 강의였다. 하지만, 강의 영상이 제작된 이후 lowdb가 2.0 버전으로 업데이트 되었는데, 문법이 많이 바뀌어 학습에 어려움이 있을 것 같았다. 이와 더불어 전역 후에는 알고리즘 공부를 하려고 계획하고 있었기 때문에, 공부 계획을 재검토하게 되었다. 웹 프로그래밍 공부 중단 및 알고리즘 공부 시작, lowdb가 아닌 다른 데이터베이스를 사용한 웹 프로그래밍 공부 지속 등의 방안이 있었다. 우선, 학습하고 있던 WEBn 시리즈 완강이 얼마 남지 않아 여기서 중단하기엔 너무 아쉽다는 판단이 섰다. 이후 웹 공부를 지속하기 위해 정보를 조사하던 중, 다행히 npm으로 패키지의 특정 버..
이번에는 Node.js의 인증 미들웨어인 Passport.js를 학습했다. 이전 강의들에서 쿠키와 세션을 이용해 웹사이트에서 로그인 기능을 구현했는데, Passport.js는 이러한 기초적인 방법보다 훨씬 강력했다. Passport에서 로그인 방식은 'Strategy'로 표현하는데, 자체적으로 로그인을 구현하는 local과, 구글, 페이스북, 네이버, 카카오 등의 대형 기업들이 가지고 있는 사용자 정보를 사용하는 여러 방법들이 존재했다. 자체적으로 사용자 정보를 관리할 경우 서버와 보안 소요가 커지기 마련인데, Passport.js를 이용하면 사용자 정보를 자체적으로 따로 저장하지 않으면서 인증 기능만 제공하는 '소셜 로그인' 기능을 구현할 수 있다는 점이 흥미로웠다. 이번 강의에서는 가장 기초적인 lo..