NestJS 2

nestjs + serverless + lambda + apiGateway ์‚ฌ์šฉํ•˜๊ธฐ

์ด ๊ท€์—ฌ์šด ๊ณ ์–‘์ด๋Š” nodejs ํ”„๋ ˆ์ž„์›Œํฌ์ธ nestjs์˜ ๊ท€์—ผ๋‘ฅ์ด ๋งˆ์Šค์ฝ”ํŠธ ๋กœ๊ณ ์ด๋‹ค. node๊ณ„์˜ ์Šคํ”„๋ง๋ถ€ํŠธ ๊ฐ™์€ ๋Š๋‚Œ์ธ๋ฐ ๊ธฐ์กด์˜ nodejs์˜ ๋Œ€ํ‘œ์ ์ธ ํ”„๋ ˆ์ž„์›Œํฌ์ธ express์™€ ๋น„๊ตํ–ˆ์„ ๋•Œ ์˜์กด์„ฑ ์ฃผ์ž… ๊ฐœ๋…๋„ ์žˆ๊ณ  ์ด๋ฏธ ๋งˆ๋ จ๋œ ๋ฏธ๋“ค์›จ์–ด ๋“ฑ์ด ์žˆ์–ด ๊พธ์ค€ํžˆ ์ฆ๊ฐ€ํ•˜๊ณ  ์žˆ๋Š” nodejs์˜ ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค. ๋‚˜๋Š” ๊ท€์—ฌ์šด ๊ณ ์–‘์ด๊ฐ€ ์ข‹์€ nestjs๊ฐ€ ์ฃผ์ข…๋ชฉ์ธ ๊ฐœ๋ฐœ ์ฃผ๊พธ๋ฏธ ์„œ๋ฒ„๋ฆฌ์Šค๋Š” ๋ง ๊ทธ๋Œ€๋กœ ์„œ๋ฒ„๊ฐ€ ์—†๋‹ค๋Š” ๋œป์ธ๋ฐ, ์ข€ ๋” ๊ฐœ๋ฐœ์ ์œผ๋กœ ์ ‘๊ทผํ•˜์ž๋ฉด ์„œ๋ฒ„๋ฅผ ๊ด€๋ฆฌํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค๋ผ๋Š” ๋Š๋‚Œ์œผ๋กœ ํ•ด์„์„ ํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค. ์ข€ ๋” ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์— ์ง‘์ค‘ํ•˜๋Š” ๋Š๋‚Œ์œผ๋กœ ์ง„์งœ ์„œ๋ฒ„๊ฐ€ ์—†๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ๊ทธ์ € ์„œ๋ฒ„๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ๋œ์–ด๋‚ธ ์˜๋ฏธ์˜ ์„œ๋ฒ„๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ํ•ด๋‹นํ•˜๋Š” ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ๋น ๋ฅด๊ฒŒ ๊ตฌ์„ฑ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด ์‚ฌ๋‹ค..

node.js 2022.08.23

nestjs passport base64 ์˜ต์…˜ ์‚ฌ์šฉํ•˜๊ธฐ

์ƒํ™ฉ 1. ์Šคํ”„๋ง์œผ๋กœ ๊ตฌ์ถ•๋œ api์„œ๋ฒ„๊ฐ€ ์กด์žฌ 2. ์Šคํ”„๋ง์˜ ๋ชจ๋“  api๋ฅผ nest๋กœ ์ปจ๋ฒ„ํŒ…ํ•ด์•ผ๋จ. 3. ๋‹จ๊ณ„๋ณ„ ์ปจ๋ฒ„ํŒ… ์ž‘์—…์ค‘ ๊ฐ™์€ ์†”ํŠธ๋ฅผ ์‚ฌ์šฉํ•œ jwt token์ด nest์„œ๋ฒ„์—์„œ๋Š” ์ธ์ฆ์ด ์•ˆ๋˜๋Š” ์ƒํ™ฉ ๋ฌธ์ œ์  1. ์Šคํ”„๋ง์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์†”ํŠธํ‚ค๊ฐ’์„ base64๋กœ ์ธ์ฝ”๋”ฉํ•˜์—ฌ ์‚ฌ์šฉ 2. ๋„ค์ŠคํŠธ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์†”ํŠธํ‚ค๊ฐ’ ์ธ์ฝ”๋”ฉ์‚ฌ์šฉํ•˜์ง€์•Š์Œ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ 1. PassportStrategy ์ƒ์†๋ฐ›์•„ ์‚ฌ์šฉ์‹œ secretOrKey๋ฅผ Buffer.from('ํ‚ค๊ฐ’', 'base64') ๋กœ ๊ฐ์‹ธ๋ฉด ๋จ. 2. ๋ฆฌํ”„๋ž˜์‰ฌ๋•Œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ž‘์—… ์Šฌํ”„๋‹ค ๋‚˜์˜ 3์ผ์ด ์ด๋ ‡๊ฒŒ ๋‹จ ๋ช‡์ค„์ด๋ผ๋‹ˆ

node.js 2022.02.22