| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- docker
- ๋ ผ๋ธ๋กํน
- Jenkins
- dockerhub
- ๋์์ธํจํด
- @scheduler
- GoogleLogin
- ์ฝํ
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- node.js mysql ์ฐ๋
- React
- Personal Access Token
- CICD
- db์ํคํ ์ณ
- ์ค๋ธ์
- Java
- spring scheduler
- Node.js
- db์ ๋ต
- oauth
- ์๊ณ ๋ฆฌ์ฆ
- java์ฑํ
- injection๊ณต๊ฒฉ
- ์ฟ ๋ฒ๋คํฐ์ค
- spring
- MySQL
- ํฌ๋ก์ค์ฌ์ดํธ ์คํฌ๋ฆฝํธ
- ์๋ฐ
- SpringBoot
- ์ฝ๋ฉํ ์คํธ
- Today
- Total
๋ชฉ๋กNode.js (4)
<Hello Hosung๐/>
๊ตฌ๊ธ ๋ก๊ทธ์ธ์ ๊ตฌํํ๊ธฐ ์ํด, OAuth 2.0 ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ Google API์ ์ฐ๋ํฉ๋๋ค. ์๋๋ Node.js + Express ๊ธฐ๋ฐ์ ๊ฐ๋จํ Google ๋ก๊ทธ์ธ ๊ตฌํ ์์ ์ ๋๋ค.์ฌ์ ์ค๋นGoogle Cloud Console์์ ํ๋ก์ ํธ ์์ฑGoogle Cloud Console์ ์ ์.์ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๊ฑฐ๋ ๊ธฐ์กด ํ๋ก์ ํธ๋ฅผ ์ ํ.OAuth ๋์ ํ๋ฉด ์ค์ :์ฌ์ฉ์ ์ ํ ์ ํ(์ธ๋ถ/๋ด๋ถ).ํ์ ์ ๋ณด ์ ๋ ฅ(์ ํ๋ฆฌ์ผ์ด์ ์ด๋ฆ, ์ด๋ฉ์ผ ๋ฑ).OAuth 2.0 ํด๋ผ์ด์ธํธ ID ์์ฑ:์ ํ๋ฆฌ์ผ์ด์ ์ ํ: ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ํ.์น์ธ๋ ๋ฆฌ๋๋ ์ URI ์ถ๊ฐ: ์) http://localhost:3000/auth/google/callbackํด๋ผ์ด์ธํธ ID์ ํด๋ผ์ด์ธํธ ๋น๋ฐ ํค(Client Secret)๋ฅผ ๋ณต์ฌ..
ํ์๊ฐ์ ์ ์ฌ์ฉ์๋ก๋ถํฐ ์์งํ ์์ด๋์ ๋น๋ฐ๋ฒํธ ๊ฐ์ ์ ๋ณด๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ๊ฒ ๋ฉ๋๋ค. ํ์ง๋ง ์ด๋ ์ฃผ์ํ ์ ์ ๋น๋ฐ๋ฒํธ์ ๊ฐ์ ๋ฏผ๊ฐํ ์ ๋ณด๋ฅผ ์ํธํํ์ง ์๊ณ ํ๋ฌธ ๊ทธ๋๋ก ์ ์ฅํ ๊ฒฝ์ฐ์ ๋๋ค. ๋ง์ฝ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ ์ถ๋๋ฉด, ์ ์์ ์ธ ์ฌ์ฉ์๊ฐ ํ๋ฌธ ๋น๋ฐ๋ฒํธ๋ฅผ ํตํด ์์ฝ๊ฒ ๋ก๊ทธ์ธํ๊ฑฐ๋ ๋ค์ํ ๊ณต๊ฒฉ์ ์๋ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฐ๋ผ์ ๋ณด์์ ๊ฐํํ๊ธฐ ์ํด ๋น๋ฐ๋ฒํธ๋ ์ํธํ(ํด์ฑ) ๊ณผ์ ์ ๊ฑฐ์ณ ์ ์ฅํด์ผ ํฉ๋๋ค. ํด์ฑ์ ํตํด ๋น๋ฐ๋ฒํธ๋ฅผ ์ํธํํ๋ฉด, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ถ ์์๋ ๋น๋ฐ๋ฒํธ ์๋ฌธ์ด ์๋ ํด์๊ฐ์ด ๋ ธ์ถ๋๋ฏ๋ก ๋ณด์์ ์ ์งํ ์ ์์ต๋๋ค. ์ค๋ ํฌ์คํ ์ bcrypt ๋ผ์ด๋ธ๋ฌ๋ฅผ ํ์ฉํ ๋ฏผ๊ฐํ ์ ๋ณด๋ฅผ ์ํธํํ์ฌ, ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๋๋ก ํฉ์๋ค. 1) Node.js ํ๋ก์ ํธ์ bcrypt๋ผ๋ ๋ผ์ด๋ธ๋ฌ..
์ค๋์ Express ์๋ฒ๋ฅผ ๋ง๋ค์ด ๋ด ์๋ค ๐๋ง๋ค๊ธฐ์ ์์ Express๊ฐ ๋ฌด์์ธ๊ณ ์์๋ณด๋ฉด ๊ณต์ ๋ฌธ์๋ฅผ ๋ณด๋ฉด ์๋์ ๊ฐ์ด ๋์ ์์ด์ ์ค์ํ ๋ถ๋ถ์ ๋ฐ๋ก ์น ์ ํ๋ฆฌ์ผ์ด์ ํ๋ ์์ํฌ ์์, ์ฝ๊ฒ ๋งํด Java ๊ณ์ด์๋ Spring, SpringBoot ๋ฑ์ด ์กด์ฌํ๋ฏ Node.js๋ฅผ ํตํด ์น ์ ์ฝ๊ฒ ๋ง๋๋ ํ๋ ์์ํฌ๊ฐ ๋ฐ๋ก Express ์ ๋๋ค. ์๋์ ๊ฐ์ด ๊ฐ๋จํ Express ์๋ฒ๋ฅผ ๋ง๋ค์ด ๋ณด๋๋ก ํฉ์๋ค. 1. ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ ์์ฑ ๋ฐ ์ด๊ธฐํ๋จผ์ Express ์๋ฒ๋ฅผ ์คํํ ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ , ๊ทธ ์์์ Node.js ํ๋ก์ ํธ๋ฅผ ์ด๊ธฐํํฉ๋๋ค.mkdir express-servercd express-servernpm init -y # package.json ํ์ผ ์๋ ์์ฑ 2. E..
์ด๋ฒ์ Node.js ์ MySQL ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๋๊ณผ ๋ํ mybatis-mapper ๋ฅผ ํ์ฉ ํ๋ ๋ฐฉ๋ฒ ๋ํ ์์ ๋ณด๋๋ก ํด์๐ ๋จผ์ ์๋์ ๊ฐ์ด ๋์ปค ํ๊ฒฝ์ MySQL ์ปจํ ์ด๋๊ฐ ์ฌ๋ผ ๊ฐ๋ค๊ณ ๊ฐ์ ํด๋ด ์๋ค! (๋์ปค๋ฅผ ํตํด MySQL DB ๊ตฌ์ถํ๋ ๋ฐฉ๋ฒ์ ์๋์์ ํ์ธ ๊ฐ๋ฅํด์) ↓ ↓ ↓ 2024.08.18 - [๐ณ Docker] - [Docker] ๋์ปค๋ก MySQL DB๐ฆ ์๋ฒ ๋ง๋ค์ด๋ณด๊ธฐ ๊ทธ๋ฆฌ๊ณ ์๋์ ๊ฐ์ด Node.js๋ก ์์ฑํ Express ์๋ฒ๊ฐ ์๋ค๊ณ ๊ฐ์ ํด๋ณผ๊ฒ์. Express๋ Node.js๋ฅผ ์ํ ๋น ๋ฅด๊ณ ๊ฐ๋จํ ์น ์ ํ๋ฆฌ์ผ์ด์ ํ๋ ์์ํฌ์์. ๐ง ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฝ๊ฒ ๋ง๋ค ์ ์๋๋ก ๋์์ฃผ๋ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ฉฐ, ํนํ REST API๋ ์น ์๋ฒ๋ฅผ ๊ตฌ์ถํ ๋ ๋ง์ด ์ฌ์ฉํฉ๋๋ค. ..