[Express.js] express-jwt-authorizer ๋ฐฐํฌ
jwt๋ก ์ธ์ฆ ๋ฏธ๋ค์จ์ด ๊ณ์ ์ฌ๊ตฌ์ฑํ๊ธฐ ์ซ์ด์ ๋ณ๊ฒฝ๊ณผ ํ์ฅ์ด ์ด๋์ ๋ ๊ฐ๋ฅํ๊ฒ ๋ชจ๋๋ก ๊ตฌ์ฑํด๋ดค๋ค.
https://github.com/myyrakle/express-jwt-authorizer
jwt ํ ํฐ ๋ฐ๊ธ ๋ฐ ์ธ์ฆ์ ์๋ํํ๊ณ ์ธ์ฆ๋์ ๊ฒฝ๋ก๋ค์ ํธ๋ฆฌํ๊ฒ ๊ด๋ฆฌํ ์ ์๋ค.
์ฌ์ฉ๋ฒ์ ๊ฐ๋จํ๋ค. ์ผ๋จ ์ค์นํ๋ค.

๊ทธ๋ฆฌ๊ณ ์ด๋ฐ์์ผ๋ก ๊ฐ๋ค๊ฐ ๋ฏธ๋ค์จ์ด๋ก ๋ฑ๋กํ๋ค.
needAuthPaths๋ ์ธ์ฆ์ ๊ฑฐ์น ๊ฒฝ๋ก์ ์ ๊ทํํ์ ๋ชฉ๋ก์ด๋ค.
์ด ๊ฒฝ๋ก์ ํด๋น๋๋ ์์ฒญ๋ค์ ์ ๋ถ ์ธ์ฆ์ ๊ฑฐ์น๋ฉฐ, ์ธ์ฆ ํ ํฐ์ด ์ ๋ฌ๋์ง ์๊ฑฐ๋ ์ธ์ฆ์ ์คํจํ๋ฉด ๋ฐ๋ก 401 ์๋ต์ ์ค๋ค.
needAuthPathsExcept๋ ์ธ์ฆ์ด ํ์์๋ ๊ฒฝ๋ก์ ์ ๊ทํํ์ ๋ชฉ๋ก์ด๋ค. ์ฐ์ ์์๊ฐ ๋ ๋์์, needAuthPaths์ ํด๋น๋๋๋ผ๋ needAuthPathsExcept์ ํด๋น๋๋ฉด ์ธ์ฆ์ ๊ฑฐ์น์ง ์๋๋ค.
priavateKey๋ ๋น์ฐํ ํค๊ฐ์ด๊ณ ... ๋ก๊ฑฐ ๋ฑ๋ก๋ ์๋ค.
expireIn์ผ๋ก ๋ง๋ฃ์๊ฐ์ ์ค์ ํ ์๋ ์๋๋ฐ ์ ๊ธฐ์ ์ํ๋ค. ๋ํดํธ๊ฐ์ 1์๊ฐ์ด๋ค.
๊ทผ๋ฐ jwt๋ง ์ฐ๊ธฐ๋ณด๋จ ์ธ์
๋ ํจ๊ป ์ฌ์ฉํด์ 2์ค ๊ฒ์ฆ์ ํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.
๊ทธ๋ด๋๋ additionAuthorize๋ก ์ถ๊ฐ ๊ฒ์ฆ ํจ์๋ฅผ ๋๊ฒจ์ฃผ๋ฉด ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๋ฐ์ ๋ฐ ์์ ํจ์๋ค์ ์ ๋ถ req.authorizer์ ๋ฑ๋ก๋๋ค.
๋ก๊ทธ์ธ ํ ํฐ์ makeTokenํจ์๋ฅผ ํตํด ์์ฑํ ์ ์๋ค.

๊ทธ๋ฆฌ๊ณ ์ธ์ฆ ์ฑ๊ณต ์ฌ๋ถ๋ authorized ์์ฑ์ผ๋ก,
์ธ์ฆ์ด ์ฑ๊ณต๋์์ ๊ฒฝ์ฐ ํ ํฐ์ ๊ฐ์ tokenValue๋ก ํ์ธํ ์ ์๋ค.

๊ทธ๋ ๋ค.