[PBA] Send mail for confirm login secret

hansol yang
2 min readJul 28, 2019

--

  • nodemailer, sendgrid, nodemailer-sendgrid-transport 를 사용해서 메일을 보낸다.
  • passportjs 의 passport-jwt 를 사용해 token 을 생성하여 login 을 확인한다.
  • 사용방법은 문서의 나와있는 거의 그대로 사용했고, api key 나 password 등은 .env 파일에 넣어 사용한다.
  • 메일에 secret 값을 넣어서 보내고, confirmSecret 에서 인자로 email 과 secret 값을 설정해 해당 값을 인자로 가져온다.
    그 값을 해당 user 에게 할당된 loginSecret 과 비교하고, 값이 같다고 확인 될 경우 token 을 생성하여 login 을 확인한다.
  • 미들웨어를 사용하여 경로를 보호한다. 그리고 검증이 필요한 값을 검증한 뒤에 성공한다면(지금 프로젝트에서는 user 가 확인 된다면) next 함수가 실행된다.
  • jsonwebtoken 과 randomkeygen 을 사용한다.
  • think!
    -해당 서비스를 쓰기는 했지만 각각이 어떻게 작동하는지 이해가 부족하다. 절차도 간단하고 문서를 따라가며 작동이 되기는 하지만 조금 더 확인이 필요하다.
    - 로그인 방법에 대한 고민도 필요하다. 로그인 과정에서 의존성을 줄이되 간편하고 안전한 방법이(있나..?) 있나 찾아보자.
    - port 연결에 대해 공부하자. 썼던 포트를 다른 프로젝트에서 쓸 때 데이터가 겹치거나 정확히 출력이 되지 않는듯 하다. 왜그런지 몰라서 자꾸 다른 port 를 지정해서 쓰는데 공부해서 해결책을 찾아야겠다.
    - context 에 넣는것과 그냥 import 해오는 것 중에 어떤것이 어떤 이점이 있는지 확인하자. context 에 넣는게 편한 것도 있지만 import 는 vscode 에서 해주기 때문에 또 간편하기도 하다. 어떻게 써야 효율적인지 파악하자.

--

--

No responses yet