• Grphql Tutorial 7

    들어가며 이전 포스팅에서는 email을 통해서 인증에 필요한 토큰을 포함한 링크를 보내고 처리 해봤다. 이번 포스팅에서는 이전에 구현에서 빠진 비밀번호 암호화를 진행해본다. 비밀번호 암호화하는데는 여러가지 방법들이 있는데 우리는 bcrypt 를 이용하도록한다. 많이 사용되는 암호화 방식 및 각각의 장단점에 대한 내용은 안전한 패스워드 저장에 잘 정리 되어있다. bcrypt의 work factor는 높을 수록...


  • Grphql Tutorial 6

    들어가며 이전 포스팅에 이어서 이제 email 인증을 거친 유저만 이용할 수 있도록 처리를 해본다. 일단 이를 위해서 ./src/schemas/user.ts 에 작성한 UserSchema를 수정한다. emailVerificationStatus 라고 email 인증 상태를 나타내는 상태값을 하나 추가하도록 한다. type은 boolean으로 하도록 하겠다. ./src/schemas/user.ts import {Schema, Document} from 'mongoose' export const UserSchema = new Schema({ id: {type:...


  • Grphql Tutorial 5

    들어가며 이전 포스팅에 이어서 코드를 작성해보자. 이번 포스팅에서는 이전 포스팅에서 이야기 했듯이 email을 통한 인증코드를 작성해볼것이다. 이전 포스팅들에서 필요한 모듈들은 전부 추가 했고 JWT 생성까지도 작성해봤다. 이전에 했던걸 email로도 비슷하게 해주면된다. sendEmail 작성 일단 이전에 작성하던 ./src/resolvers/UserResolver.ts 에 이어서 작성한다. 아래와 같이 sendEmail 함수를 작성한다. @Query(returns => Boolean, { nullable:...


  • Grphql Tutorial 4

    들어가며 이번 포스팅에서는 이전에 이야기한바와 같이 인증관련 작업을 할 것이다. 이를 편하게 하기 위해서 몇가지 작업을 할건데 작업 순서는 다음과 같다. Apollo Context 작성 signIn에 JWT 생성 추가 type-graphql AuthChecker 구현 권한 확인하기 위해 몇개 쿼리 추가 사용자의 이용 시나리오는 다음과 같이 정의한다. 회원가입. 회원가입 당시 인증메일 전송 인증 로그인...


  • Grphql Tutorial 3

    들어가며 Graphql Tutorial 1, Graphql Tutorial 2 에서 Graphql이 어떤건지 알아봤다. 이번에는 기본적인 User의 CRUD들을 해보도록 한다. nodemailer와 Gmail 그리고 JWT를 이용하여 회원가입 절차를 구현하고 회원탈퇴, 로그인, 로그아웃, 회원정보 수정 까지 해보도록 하겠다. 지난 Graphql Tutorial 2에서 작성했던 package.json에 몇개를 더 추가하도록 한다. package.json { "name": "graphql", "version": "0.0.0", "description":...