inflearn logo
강의

講義

知識共有

Node.js 教科書 - 基本からプロジェクト実習まで

自分でやる3(クライアント/サーバー秘密鍵を区別する)

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

解決済みの質問

404

evanjin

投稿した質問数 8

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

回答 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

313

2

캐싱에 관하여

0

279

3

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

0

347

1

게시물 올리기 오류

0

408

1

캐슁 이후 로그인창

0

266

1

kakao passport 질문있습니다.

0

493

3

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

1

417

1

서버가 죽어버리네요

0

1047

8

포링키 문제..

0

234

2

커넥션 플래시 설치문제

0

216

2

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

0

2586

6

redis 질문입니다.

0

305

1

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

0

874

8

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

0

300

3

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

0

588

1

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

0

922

6

oAuth 질문입니다.

0

356

3

GCP 질문입니다.

0

366

1

Passport 모듈 로그인 구현관련

0

720

6

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

0

606

4

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

0

499

5

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

0

317

2

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

0

337

3

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

0

233

3