inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

도메인 연결하기

로그인 질문(로그인하지 않은 사용자만 접근이 가능합니다)

300

Ko Yun Hyuk

작성한 질문수 28

0

 

위와 같이 로그인을 하지 않은 상태입니다. 그런데 로그인을 하면 저렇게 401 에러가 뜹니다. 뭐가 잘못됬는지 감이안와서 헤매고 있는데 조언좀 주세요 ㅠ

401 에러 이외엔 에러 메세지가 따로 없습니다.

```javascript

// routes/middlewares.js

 exports.isLoggedIn = (req, res, next) => {

if (req.isAuthenticated()) {
next(); // 비어있으면 다음 미들웨어로 간다
} else {
res.status(401).send('로그인이 필요합니다.');
}
};

exports.isNotLoggedIn = (req, res, next) => {
if (!req.isAuthenticated()) {
next(); // 비어있으면 다음 미들웨어로 간다
} else {
res.status(401).send('로그인하지 않은 사용자만 접근이 가능합니다.');
}
};

```

```javascript

routes/user.js

router.post('/login', isNotLoggedIn, (req, res, next) => {
passport.authenticate('local', (err, user, info) => {
if (err) {
console.error(err);
next(err);
}
if (info) {
return res.status(401).send(info.reason); // client로 응답을 보내줌, 401: 허가되지 않음, 403: 금지
}
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'], // 원하는 정보만 가져오거나 가져오지 않겠다 / 현재: pw 빼고 다 가져오겠다
},
include: [
{
model: Post,
},
{
model: User,
as: 'Followers',
},
{
model: User,
as: 'Followings',
},
], // 가져올 정보중 뺄 것들
});
return res.status(200).json(fullUserWithoutPassword);
});
})(req, res, next);
}); // 로그인 전략 실행

```

```javascript

// front/components/AppLayout.js

<LoggedFixed>{me ? <UserProfile /> : <LoginForm />}</LoggedFixed>

```

 

Next.js express react redux nodejs

답변 1

1

제로초(조현영)

쿠키가 있는걸로 봐서는 이미 로그인된 상태인데 프론트에서 자신이 로그인되었다는걸 인식 못하고 있는 것 같습니다. getServerSideProps쪽 문제 같습니다.

0

Ko Yun Hyuk

감사합니다

넥스트 버젼 질문

0

90

2

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

0

104

1

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

0

188

1

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

0

116

2

createGlobalStyle의 위치와 영향범위

0

102

2

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

0

96

2

vsc 에서 npm init 설치시 오류

0

157

2

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

0

166

1

화면 새로고침 문의

0

128

1

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

0

158

2

Next 14 사용해도 될까요?

0

455

1

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

0

356

1

url 오류 질문있습니다

0

214

1

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

0

390

1

sudo certbot --nginx 에러

0

1290

2

Minified React error 콘솔에러 (hydrate)

0

477

1

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

0

255

1

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

0

335

1

npm run build 에러

0

525

1

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

0

397

1

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

0

350

2

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

0

290

1

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

0

249

2

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

0

205

1