inflearn logo
강의

講義

知識共有

しっかりしたバックエンドNestJS、基礎から深化まで

JWTとログインサービス&循環参照モジュール

질문입니다.

解決済みの質問

415

jwb449730

投稿した質問数 5

2

안녕하세요. 강의를 듣고 하는 도중에 잘 안되어 질문드립니다.

{

    "success"true,
    "data""login"
}
 
이렇게 나올까요..? 유효성검사도 안 됩니다.
(이메일을 반값으로 요청해도 위와 같이 나옵니다.
회원가입은 유효성검사 전부 잘 됩니다.)
컨트롤러 부분에서 jwtLogin 함수가 안불러지는거 같은데
어떤 부분이 문제일까요??
깃허브에서 코드 따와서 했는데도 계속 data가 토큰이 안 나오고
login만 나오네요.. ㅠㅠ 혼자 찾아보려고 했는데 안 되어서 질문드립니다.

 

 
import { Injectable, UnauthorizedException } from '@nestjs/common';
import { CatsRepository } from 'src/cats/cats.repository';
import * as bcrypt from 'bcrypt';
import { JwtService } from '@nestjs/jwt';
import { LoginRequestDto } from './dto/login.request.dto';

@Injectable()
export class AuthService {
  constructor(
    private readonly catsRepository: CatsRepository,
    private jwtService: JwtService,
  ) {}

  async jwtLogIn(data: LoginRequestDto) {
    const { email, password } = data;

    //* 해당하는 email이 있는지
    const cat = await this.catsRepository.findCatByEmail(email);

    if (!cat) {
      throw new UnauthorizedException('이메일과 비밀번호를 확인해주세요.');
    }

    //* password가 일치한지
    const isPasswordValidated: boolean = await bcrypt.compare(
      password,
      cat.password,
    );

    if (!isPasswordValidated) {
      throw new UnauthorizedException('이메일과 비밀번호를 확인해주세요.');
    }

    const payload = { email: email, sub: cat.id };

    return {
      token: this.jwtService.sign(payload),
    };
  }
}

mongodb nodejs express ssr NestJS

回答 5

1

jwb449730

감사합니다. 이유는 모르겠지만 git에서 clone 하여 했더니 잘 됩니다.

1

amamov

다행이네요 ㅎㅎ 

보통 node_modules가 꼬이거나 dist 폴더(컴파일 결과물들) 문제로 이런 이슈가 많이 발생합니다. 스트레스 많이 받으셨을텐데 화이팅입니다!

0

amamov

저는 정상적으로 작동했는데 프로젝트를 전체 삭제하고 git clone으로 다시 받아보시겠어요??

0

jwb449730

죄송합니다...

그런데 코드를 제거 해도 같은 현상이 발생합니다...

회원가입 같은 경우는 

이와 같이 잘 나오는데 왜 login만 

{
    "success"true,
    "data""login"
}
 
이렇게 값이 나오는지 도대체 모르겠네요... ㅠㅠ

0

amamov

확인해본 결과 mongoose 버전 업이 되어 발생하는 문제입니다! 콘솔에 제거하라는 메세지가 원래 나오는데 개발 환경 등 모종의 문제로 안뜨신 것 같네요 ㅠㅠ

해당 이슈는 버전업되고 강의노트에 남겼습니다! 

0

amamov

안녕하세요!

코드는 분명 문제가 없는데 터무니 없게 출력이 되는 경우에는 vscode에서 파일 등을 import할때 다른 폴더의 파일을 import할 경우에 발생할 수 있습니다! 

node_modules를 지우고 다시 실행해 보시고 프로젝트 폴더 자체를 다른 경로로 옮겨서 다시 실행해 보세요!

이렇게 하셨는데도 잘 안되고 도움이 필요하시면 전체 프로젝트 깃허브 주소를 보내주시면 추가적인 도움을 드리겠습니다.

0

jwb449730

안녕하세요. 답변 감사합니다.

알려주신 대로 폴더를 옮기고 node_modules 지우고 다시 했는데도 로그인할 때 토큰이 생길지 않습니다.

https://github.com/WooBinJang/Cats_Project_NestJS

 

혹시 괜찮다면 깃허브 코드 확인 부탁드립니다... ㅠㅠ

0

amamov

bcrypt가 package.json에 없습니다! 설치 후에 다시 진행해 보시겠어요?

0

jwb449730

전에 폴더를 옮기는 과정에서 bcrypt가 없어 다시 install 하였으나

기존과 같은 data 가 login으로만 나타납니다... 

 

프로젝트 환경 세팅할 때 최신 노드 버젼을 사용하시는 분들은 참고하셔도 좋을 것 같아요~

2

80

1

DTO에 대한 질문

1

87

2

백엔드 MVC에서 View의 역할은 무엇인가요?

1

93

2

추가 업데이트 관련 건

0

90

2

nest js 버전문제

0

79

2

mongdb 스키마 공식 문서와 형태가 다른 이유 궁금합니다.

0

103

1

라인 끝에 에러 표시(eslint) 때문에 구글 찾아 보니.

0

74

1

전체 고양이 조회 라우터 중 error.message 오류

0

67

1

캡슐화 추가 설명 중 단일책임원칙 관련 질문

0

104

0

42강 고양이끼리 소통 댓글 구현 중 Schema hasn't been registered for model 'comments' 에러 해결

0

82

1

채팅 이슈

0

133

1

모듈이 더 이상 지원하지 않는답니다

0

206

1

오류가 있습니다

0

106

1

import 에서 오류가 납니다

0

127

1

이런 오류가 나옵니다

0

100

1

에러가 발생합니다

0

109

1

프론트 에러 뜨는데 수정 안해주시나요

0

156

1

emit() broadcast.emit() 질문있습니다

0

101

1

서버연결이 안됩니다.

1

403

1

[PM2][ERROR] Command not found

0

520

1

S3에 업로드까지는 성공했는데 사진이 나오지 않습니다.

0

248

1

error_code : Property 'user' does not exist on type 'Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>'.ts(2339)

0

601

1

jwt를 따로 연습하고 있는데 env를 못읽는 것 같습니다.

0

322

2

Ec2로 안하시는 이유가 있을까요?

0

343

1