작성
·
359
0
안녕하세요 강의를 하며 passport 기능 따라구현하는 중에 막힌곳이 있어서 문의드립니다.
로그인 쪽 개발중 프론트엔드에서 요청을 하면
canActivate중에 문제가 있는지
401 에러를 뱉습니다.
가드가 컨트롤러 앞단에있는 거의 가장 처음 트래픽을 맞이하는 부분이라고 이해만 하고
canActivate에 대한 이해가 없어서
이부분에서 에러를 뱉어내서 조금 막막하네요
어떤 부분을 공부하거나
찾아봐야 할지 문의드립니다.
답변 3
1
super.canActivate 함수는 AuthGuard('local')의 메서드입니다. 이 부분은 localStrategy에서 validate 메서드 부분을 보셔야 합니다.
https://github.com/ZeroCho/sleact/blob/master/nest-typeorm/src/auth/local.strategy.ts
0
해결했습니다
local.strategy.ts에서 super부분을
아래와 같이 하지않고 그냥 super()로 했네요
공식문서랑 강의랑 번갈아 가면서 복붙하다보니 이부분을 놓쳤습니다.
대충 보니 usernameField를 email로 지정하지 않으면 기본적으로 username으로 받아오나봅니다.
0
현재 만들어주신 프론트엔드에서 보내는것처럼
로그인을
email, password로 보내는것이 아니라
포트스맨으로
username, password로 보내면 정상 작동하는것으로 보입니다.
어딘가에 email로 써야 할것을 username으로 쓴것같은 느낌입니다.