2023. 9. 11. 15:15ใ0. TiL ( Today I Learned )
๊ฒ์๊ธ์ ๋ง๋๋ LEVEL3์ ํ๊ณผ์ ์์ ํ์๊ฐ์ ๊ณผ ๋ก๊ทธ์ธ์ด ์ฑ๊ณตํ์์ ๋, JWT ํ ํฐ์ ๋ฐ๊ธํ๋๋ก ํ๋ค.
๋๋, JWTํ ํฐ์ ๋จ์ํ๊ฒ ์ฐ๊ธฐ๋ง ํ๊ณ JWT๋ฅผ secret_key๋ก ์ฒ๋ฆฌํ์ง ์์๋ค. ์์ ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ JWT์ ๋ชฉ์ ์ ์์ค ํ๊ฒ์ด๋ค.
์์ฐํ ๋งํ์๋ฉด secret_key ํ์ฉํด์ผ์ง ๋ผ๋ ์ฃผ์๋ง ๋ฌ์๋๊ณ ์ ์ . envํด๋์๋ ์๋ฌด๊ฒ๋ ์ฐ์ง ์์๋ค.
๊ทธ๋ ๋ค. ๋๋ ์ฌ์ฉ๋ฐฉ๋ฒ์ ๋ชฐ๋๋ค(?) ์ฝ๋๋ฆฌ๋ทฐ ์๊ฐ์ ์ด ๋ถ๋ถ์ ๋ํ ํผ๋๋ฐฑ์ด ์์๊ณ , ๋ช ์๋ง ํ๋ฉด ์ด์ฐ ๋ ์ค ์์๋๋ฐ. env ํด๋ ์์ ๋ค์ด๊ฐ ๋ณด๋ ์ ๋ง ๋ฐ๋ก ํ๊ธฐ๋ ๋ถ๋ถ์ด ์์๋ค.
๊ฐ์ฌํ๊ฒ๋ ํผ๋๋ฐฑ๊ณผ ์ฌ์ฉ๋ฒ์ ํจ๊ป ์๋ ค์ฃผ์ จ๊ณ Til๋ก ์ถ๊ฐ ์ ๋ฆฌํ๋ฉด์ ์ดํด๋ณด๋,. envํ๊ฒฝ๋ณ์๋ก host.pass, user ๋ฑ์ secret์ผ๋ก ์ฒ๋ฆฌํ๊ณ , import ํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๊ธฐ๋ ํ๋ค. ( *๊ด๋ จํ ์ฐธ์กฐ ๋ธ๋ก๊ทธ : https://www.daleseo.com/js-dotenv/ )
๋ณธ๊ฒฉ์ ์ผ๋ก .env์ ํตํด JWTํ ํฐ์ SECRET_KEY๋ก ์ฒ๋ฆฌํ๋ ๋ถ๋ถ์ ์ค๋ช ํ๊ธฐ ์์, ํ ๋ฒ ๋ JWT์ ๊ฐ๋ ์ ์๊ธฐํ๊ณ ๋์ด๊ฐ์!
* ์ค๋ ์ ๋ฆฌํ JWT์ ๊ฐ๋ ์ ์๋์ node.js๊ฒ์ํ ๋งํฌ์์ ํ์ธ ๊ฐ๋ฅ!
2023.09.11 - [3. Node.js] - [ Node.js ์๋ จ์ฃผ์ฐจ 1 (1-0)] JWT(Json Web Token)
[ Node.js ์๋ จ์ฃผ์ฐจ1 (1-0)] JWT(Json Web Token)
JWT(Json Web Token) JWT(Json Web Token)์ ์น ํ์ค์ผ๋ก์จ, ์๋ฒ์ ํด๋ผ์ด์ธํธ ์ฌ์ด์์ ์ ๋ณด๋ฅผ ์์ ํ๊ฒ ์ ์กํ๊ธฐ ์ํด ๋์์ ์ฃผ๋ ์น ํ ํฐ(Web Token)์ด๋ค. JSON ํํ์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฒ ์ ์กํ๊ณ ๊ฒ์ฆํ
sa-growth-diary.tistory.com
[ JWTํ ํฐ .env๋ก SECRET_KEY ์ฒ๋ฆฌํ๊ธฐ ]
[. env ] ํ์ผ์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ์ํด์ค๋ค.
// .env
SECRET_KEY="1234" // * ์ซ์๊ฐ ๋ค์ด๊ฐ๊ณณ์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ค์ ํด์ค๋ค.
[. env ]์ ์ ์ฅ๋ SECRE KEY๊ฐ์ ๋ถ๋ฌ์์ ์ฌ์ฉํ๋ค.
const token = jwt.sign(
{
userId: user.userId
},
'process.env.SECRET_KEY',
// 'process.env.SECRET_KEY' ๊ฐ์ผ๋ก ๋ณ๊ฒฝํด์ค๋ค.
const decodedToken = jwt.verify(token, 'process.env.SECRET_KEY');
// process.env.SECRET_KEY๋ .env ํ์ผ์ ์ ์ฅ๋ ๋น๋ฐํค ๊ฐ์ ธ์ค๊ธฐ
const userId = decodedToken.userId;
* ๋ฐฐํฌ ์ ๋ฌธ์ ๊ฐ ๋ฐ์๋ ์ ์์์ผ๋ก [ app.js ]์์ import๊น์ง ์ถ๊ฐํด์ฃผ๋ฉด ์ข๋ค.
import dotenv from 'dotenv'
dotenv.config();
* ํฐ๋ฏธ๋์ ๋ช ๋ น์ด๋ฅผ install๊น์ง ํด์ฃผ๋ฉด, package.jason์ ["dotenv": "^16.3.1"] ์๊ฐ์ด ๋ฒ์ ์ด ์ถ๊ฐ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
yarn add dotenv

??? ์์ฆ ๋ดํ์ ..
์ง๊ธ ์ง์ณค๋์?
( ์ํผ์์ .. ) ์๋์ ...? ? ? ?
... ์ค๋ 6์ ๊ธฐ์ ์ฑ๊ณตํ๋ค..
๊ทผ๋ฐ ๋ฉ๋๋ฆฌ๊ธฐ 1์๊ฐํ๋ค..
์ด์จ๋ ๊ฐ์์ฑ๊ณต?
๋ด์ผ๋ ๋์ ์์์..