inflearn logo
강의

Course

Instructor

Node.js Textbook - From Basics to Project Practice

Try it yourself 3 (Distinguishing between client/server secret keys)

스스로 해보기3(클라이언트/서버 비밀키 구분하기) 에러가 나서 문의 남깁니다.

Resolved

411

evanjin

8 asked

0

터미널에서는 아래처럼 오류가 납니다.

sequelize deprecated Model.find has been deprecated, please use Model.findOne instead node_modules/sequelize/lib/model.js:4212:9

Executing (default): SELECT `id`, `host`, `type`, `clientSecret`, `frontSecret`, `createdAt`, `updatedAt`, `deletedAt`, `userId` FROM `domains` AS `domain` WHERE ((`domain`.`deletedAt` > '2019-02-24 14:06:19' OR `domain`.`deletedAt` IS NULL) AND `domain`.`host` = 'localhost:8003') LIMIT 1;

OPTIONS /v2/token 204 31.393 ms - 0

Executing (default): SELECT `id`, `host`, `type`, `clientSecret`, `frontSecret`, `createdAt`, `updatedAt`, `deletedAt`, `userId` FROM `domains` AS `domain` WHERE ((`domain`.`deletedAt` > '2019-02-24 14:06:19' OR `domain`.`deletedAt` IS NULL) AND `domain`.`host` = 'localhost:8003') LIMIT 1;

Executing (default): SELECT `id`, `host`, `type`, `clientSecret`, `frontSecret`, `createdAt`, `updatedAt`, `deletedAt`, `userId` FROM `domains` AS `domain` WHERE ((`domain`.`deletedAt` > '2019-02-24 14:06:19' OR `domain`.`deletedAt` IS NULL) AND `domain`.`host` = 'localhost:8003') LIMIT 1;

Executing (default): SELECT `domain`.`id`, `domain`.`host`, `domain`.`type`, `domain`.`clientSecret`, `domain`.`frontSecret`, `domain`.`createdAt`, `domain`.`updatedAt`, `domain`.`deletedAt`, `domain`.`userId`, `user`.`id` AS `user.id`, `user`.`email` AS `user.email`, `user`.`nick` AS `user.nick`, `user`.`password` AS `user.password`, `user`.`provider` AS `user.provider`, `user`.`snsId` AS `user.snsId`, `user`.`createdAt` AS `user.createdAt`, `user`.`updatedAt` AS `user.updatedAt`, `user`.`deletedAt` AS `user.deletedAt` FROM `domains` AS `domain` LEFT OUTER JOIN `users` AS `user` ON `domain`.`userId` = `user`.`id` AND (`user`.`deletedAt` > '2019-02-24 14:06:19' OR `user`.`deletedAt` IS NULL) WHERE ((`domain`.`deletedAt` > '2019-02-24 14:06:19' OR `domain`.`deletedAt` IS NULL) AND `domain`.`frontSecret` = NULL) LIMIT 1;

POST /v2/token 401 53.205 ms - 100

브라우저에서는 아래와 같이 나옵니다.

code: 401

message: "등록되지 않은 도메인입니다. 먼저 도메인을 등록하세요"

도메인은 등록 해놓았는데 이런 오류가 나와서 오타인지 3번 정도 체크해봤는데 그건 아닌거 같아서 질문드립니다.

mysql nodejs javascript mongodb

Answer 2

0

evanjin

감사합니다 v2.js에서 token 부분을 아래와 같이 바꾸니 해결 되었습니다.

router.post('/token', async (req, res) => {

const { frontSecret } = req.body;

try {

const domain = await Domain.find({

where: { frontSecret },

include: {

model: User,

attribute: ['nick', 'id'],

},

});

if (!domain) {

return res.status(401).json({

code: 401,

message: '등록되지 않은 도메인입니다. 먼저 도메인을 등록하세요',

});

}

const token = jwt.sign({

id: domain.user.id,

nick: domain.user.nick,

}, process.env.JWT_SECRET, {

expiresIn: '1m', // 1분

issuer: 'nodebird',

});

return res.json({

code: 200,

message: '토큰이 발급되었습니다',

token,

});

} catch (error) {

console.error(error);

return res.status(500).json({

code: 500,

message: '서버 에러',

});

}

});

0

zerocho

콘솔 쪽 끝에서 두 번째 줄을 보니까 domain.frontSecret = NULL이라고 되어있는데 frontSecret이 제대로 서버로 전달되지 않은 것 같습니다. 이 부분을 체크해보셔야 할 것 같네요.

실제 서비스에서도 cluster를 사용하나요?

1

326

2

캐싱에 관하여

0

295

3

salt를 실무에서 사용할때 항상 randomBytes로 만들어줘야 하나요?

0

357

1

게시물 올리기 오류

0

417

1

캐슁 이후 로그인창

0

281

1

kakao passport 질문있습니다.

0

499

3

global객체 공유 질문드립니다.

1

424

1

서버가 죽어버리네요

0

1059

8

포링키 문제..

0

243

2

커넥션 플래시 설치문제

0

219

2

익스프레스 제너레이터? 설치문제

0

2596

6

redis 질문입니다.

0

312

1

9장 세션을 DB에 저장시 리다이렉션 오류 발생

0

893

8

프레임워크 선택에 관하여 질문이 있습니다.

0

306

3

시퀄라이즈 질문입니다 ! !

0

595

1

리뉴얼 강의 12강 socket.io에서 req.session접근 관련 질문

0

937

6

oAuth 질문입니다.

0

366

3

GCP 질문입니다.

0

372

1

Passport 모듈 로그인 구현관련

0

729

6

카카오 로그인 관련 질문입니다!!

0

620

4

스스로 해보기 10-16 nunjuncks 질문있습니다

0

511

5

제로초님 HTTP 완벽가이드 추천해주신거 너무 잘 읽었습니다.

0

321

2

gif채팅방 nunjucks관련 질문입니다!

0

346

3

현영님 몽고db관련 질문입니다.

0

236

3