티스토리 뷰

안녕하세요 강정호입니다.

 

오늘은 JWT로 인증을 확인하는 개발을 진행해보겠습니다.

 

이번 시간에 생성할 것은 graphql과 js 파일은 다음과 같습니다

 

confirmSecret.graphql

type Mutation{

    confirmSecret(secret:String!, email:String!): String!

}

confirmSecret.js

import { prisma } from "../../../../generated/prisma-client";

export default{

    //작업 타입 : Mutation(생성, 수정, 삭제 등의 작업)
    Mutation: {
        //graphql에서 정의한 함수명
        confirmSecret: async(_, args) => {

            //graphql에서 정의한 매개변수(email, secret)
            const{ email, secret } = args;

            // prisma 클라이언트 모듈로 user 정보를 조회한다.(email을 검색조건으로 사용)
            const user = await prisma.user({email});

            //조회한 user의 loginSecret과 입력받은 secret이 같은지 확인
            if(user.loginSecret === secret){
                // JWT
                return "TOKEN";
            }else {
                throw Error("Wrong email/secret combination");
            }
        }
    }
}

 

결과

User의 loginSecret이 입력받은 loginSecret과 일치하면 "TOKEN"이라는 문자를 리턴한다.

 

추후 저 토큰은 실제 사용자의 로그인 정보에 대한 토큰을 리턴할 것이다.

댓글