inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] React로 NodeBird SNS 만들기

로그인 문제 해결하기

회원 가입후 다른 기능들이 오류가 발생합니다.

282

이승주

작성한 질문수 4

0

안녕하세요~ 강의 열심히 듣는 중에 오류가 발생하여 문의 드립니다. 혼자 열심히 해봤는데 이부분은 잘 모르겠습니다. ㅠㅠ 

회원가입 후에 아래와 같은 오류가 발생하더니 로그인도 안되고 다른 메뉴를 클릭해도 페이지가 넘어가지 않습니다. DB를 확인하여 회원가입은 기능은 정상적으로 작동된것을 확인하였습니다. 확인 좀 부탁드리겠습니다.

Next.js express react nodejs redux

답변 2

0

이승주

와 답변 감사드립니다.ㅠㅠ 설명해주신거 꼭 기억 하겠습니다~ 감사합니다

0

이승주

<routes/user.js>


const express = require("express");

const router = express.Router();
const bcrypt = require("bcrypt");
const passport = require("passport");

const { User, Post, Image, Comment } = require("../models");
 

 
 
router.post("/login", (req, res, next) => {
  passport.authenticate("local", (err, user, info) => {
    if (err) {
      console.error(err);
      //서버 에러
      return next(err);
    }
    if (info) {
 
      return res.status(401).send(info.reason);
    }
    return req.login(user, async (loginErr) => {
 
      if (loginErr) {
        console.error(loginErr);
        return next(loginErr);
      }
      const fullUserWithoutPassword = await User.findOne({
        where: { id: user.id },
        attributes: {
          exclude: ["password"],
        },
        include: [
          {
            model: Post,
       
          },
          {
            model: User,
            as: "Followings",
          
          },
          {
            model: User,
            as: "Followers",
         
          },
        ],
      });
      return res.status(200).json(fullUserWithoutPassword);

 
    });
  })(req, res, next);
});

router.post("/", async (req, res, next) => {
 

 
  try {
  
    const exUser = await User.findOne({
      where: {
        email: req.body.email,
      },
    });
    if (exUser) {
  
      return res.status(403).send("이미 사용 중인 아이디입니다.");
    }
  
    const hashedPassword = await bcrypt.hash(req.body.password, 12);
    await User.create({
      email: req.body.email,
      nickname: req.body.nickname,
      password: hashedPassword,
    });
    res.status(201).send("ok");
  } catch (error) {
    console.error(error);
    next(error); // status 500
  }
  res.send("ok");
});

router.post("/logout", (req, res) => {
  req.logout();
  req.session.destroy();
  res.send("ok");
});
module.exports = router;

1

제로초(조현영)

회원가입 코드에서 마지막 res.send('ok') 빼세요. res.send를 두 번 호출하면 저 에러가 발생합니다. 그래서 이 때 서버가 터져서 로그인때도 에러가 난 겁니다. res.send나 res.json은 한 번만 호출되어야합니다.

넥스트 버젼 질문

0

90

2

로그인시 401 Unauthorized 오류가 뜹니다

0

104

1

무한 스크롤 중 스크롤 튐 현상

0

192

1

특정 페이지 접근을 막고 싶을 때

0

116

2

createGlobalStyle의 위치와 영향범위

0

102

2

인라인 스타일 리렌더링 관련

0

98

2

vsc 에서 npm init 설치시 오류

0

157

2

nextjs 15버전 사용 가능할까요?

0

166

1

화면 새로고침 문의

0

129

1

RTK에서 draft, state 차이가 있나요?

0

160

2

Next 14 사용해도 될까요?

0

455

1

next, node 버전 / 폴더 구조 질문 드립니다.

0

359

1

url 오류 질문있습니다

0

217

1

ssh xxxxx로 우분투에 들어가려니까 port 22: Connection timed out

0

391

1

sudo certbot --nginx 에러

0

1293

2

Minified React error 콘솔에러 (hydrate)

0

478

1

카카오 공유했을 때 이전에 작성했던 글이 나오는 버그

0

255

1

프론트서버 배포 후 EADDRINUSE에러 발생

0

338

1

npm run build 에러

0

525

1

front 서버 npm run build 중에 발생한 에러들

0

399

1

서버 실행하고 브라우저로 들어갔을때 404에러

0

350

2

css 서버사이드 랜더링이 적용되지 않아서 문의 드립니다.

0

290

1

팔로워 3명씩 불러오고 데이터 합쳐주는걸로 바꾸고 서버요청을 무한으로하고있습니다.

0

249

2

해시태그 검색에서 throttle에 관해 질문있습니다.

0

206

1