
ํ์ด์ด๋ฒ ์ด์ค Cloud Function ์ฌ์ฉ๋ฒ
1. funcions ํด๋ ์์ฑ(์ฝ๋ฉ ์ปจ๋ฒค์
)
2. Local ํ๊ฒฝ ๋ด firebase cli ์ค์น
$ npm install -g firebase-tools
$ firebase login --no-localhost
$ firebase init
//๊ตฌ์ฑ ํ์ผ์ ๋ชจ๋ ๊ตฌ๋นํ์ผ๋ฉด ์๋ต ๊ฐ๋ฅ
$ firebase deploy

firebase deploy ์ค๋ฅ ๋ฐ์
๊ตฌ๊ธ ํด๋ผ์ฐ๋ ํ๋ซํผ ํจ์ ์ธ๋ถ์ ๋ณด ๋ก๊ทธ์์ ๋ค์๊ณผ ๊ฐ์ ์ค๋ฅ๊ฐ ๊ณ์ ๋ฐ์ํ๊ณ ์๋ ๊ฒ์ ๋ฐ๊ฒฌํ๋ค.
internal/modules/cjs/loader.js:1085:14)
์ธ ๊ฐ์ง ๊ฐ์ค์ด ์๋ค.
์ฒซ์งธ. npm ๊ผฌ์ฌ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค?
1) npm ์บ์์ญ์ ์ npm๊ณผ ๊ด๋ จ๋ ํ์ผ๊ณผ ํด๋๋ฅผ ๋ชจ๋ ์ญ์ ํ๊ณ ๋ค์ ๊น๋ ค๊ณ ํ๋ค.
node modulesํด๋๋ฅผ ์ญ์ ํ๊ณ ์ฌ์ค์น ํ๋ npmํจํค์ง๊ฐ ์ค๊ฐ์ ๋ฉ์ถฐ ๊ผผ์ง๋ ์ํ๋ค. Putty Restart๋ฅผ ํ๋๋ ๋นจ๋ผ์ก๋ค.
2) node์ nvm์ purge ์ฝ๋๋ฅผ ์จ์ ์ญ์ ํ๋ค. nvm ํด๋ ๋ฑ๋ ์ญ์ ํ๋ค.
ํ์ง๋ง ์ค๋ฅ๋ฐ์์ ๊ทธ๋๋ก์๋ค.
npm ๋ช ๋ น์ด ๋ชจ์
https://psychogrammer.tistory.com/192
(์ฌ๊ฒฌ: ํจํค์ง ์ค์น ํจ๋ถ๋กํ์ง๋ง๊ณ , ๋ฌธ์ ๊ฐ ์๊ธฐ๋ฉด ์ฌ์์์ ๊ถ๊ทน์ ํด๊ฒฐ๋ฒ์ด๋ค.)
๋์งธ. ํจํค์ง ๋ชจ๋์ด ์ค์น๋์ง ์์ ๋ถ๋ฌ์์ง์ง ์์๋ค.
1) index.js์ ํ์ํ ๋ชจ๋์ด package.json์ ์ ํ์์ง ์์์, npm install ํด๋ ๋ชจ๋์ด ๋ก๋๊ฐ ์๋์๋ค.
- cors : ์ฌ์๋งํ๊ณ , ์ค์น๋ฅผ ์ํ์๋ค.
- request: ๋ชจ๋์ด ๋์ด์ ์ง์ํ์ง ์์์ ๋ฐ๋ก ๊น์์ค์ผํ๋ค.
(์ฌ๊ฒฌ: ๊ตฌ๊ธ๋ง๋ณด๋ค ์ค๋ฅ๋ฅผ ์ ํ์ด ์ฝ๊ณ ํ๋จํ๋ ๊ฒ์ด ๋ฌธ์ ํด๊ฒฐ์ด ๋น ๋ฅด๋ค. ๊ตฌ๊ธํด๋ผ์ฐ๋ ๋ก๊ทธ๋ฅผ ์ธ์ฌํ ์ฐพ์์ผ ๊ฐ๋ฅํ๋ค.)

์ ์งธ. ํ์ด์ด๋ฒ ์ด์ค ์ค๋ฅ

ํ์ด์ด๋ฒ ์ด์ค ์ปจ์์์ function deploy๊ฐ ๋์๋ ์ ์ฅ์๋ฅผ ๋ฆฌ์ ํ๋ ๊ฒ์ด๋ค.
๋ ๋ฆฝ์ํ์ ํ์ง ์์, ์์ธ์ด ์ธ๋ฒ์งธ์ธ์ง ํ์คํ์ง ์๋ค.
๋ค์ด๋ฒ, ์นด์นด์ค oAuth ์ธ์ฆ ์ค๋ฅ ๋ฐ์
1. ์นด์นด์ค unathentiaction(401์ธ์ง402์ธ์ง ์๋์ค๊ณ ๊ทธ๋ฅ ํ์ํ๋ฉด) / 401์ค๋ฅ
: ์นด์นด์ค์์ ํด๋ผ์ฐ๋ ํจ์ IP๋ฅผ ํ์ฉํ์ง ์์์ ๋ฐ์ํ ๋ฌธ์ ๋ค.
1) ์ด๊ธฐํด๊ฒฐ๋ฐฉ๋ฒ ๊ณ ๊ธ์ค์ ์์ firebase IP๋ฅผ ์ผ์ผ์ด ์ถ๊ฐ ์ค์ (107.178.200.235) ๊ณ ์ IP์ธ์ค์. ํ์ง๋ง IP๊ฐ ๊ณ์ํด์ ๋ฐ๋์ด์ ์์ฒญํจ.
2) ๊ตฌ๊ธ ํด๋ผ์ฐ๋ IP์ฃผ์๋ฅผ ๊ณ ์ IP๋ก ํ ๋นํ๋ ๋ฐฉ๋ฒ์ด ์์๊น?
https://cloud.google.com/vpc/docs/using-vpc VPC๋ฅผ ์ด์ฉํ์ฌ ๊ณ ์ IPํ ๋น๋ฐฉ๋ฒ ์ฐพ์. ํ์ง๋ง ์๋ก์ด VM์ ์์ฑํด์ผํ๊ธฐ์ ๋นํจ์ธ์ ์.
3) kakao dev์์ ํ์ฉ IP๋ฅผ ์ถ๊ฐํ ์๊ฐ๋ถํฐ, ๊ทธ IP๋ง ํ์ฉํ๋ค๋ ์นด์นด์ค์ ์ค์ ์ด ์์์. ๋ชจ๋ ์ญ์ ํ๋๋, ๋ชจ๋ IP๊ฐ ํ์ฉ๋์๊ธฐ์ ํด๊ฒฐํจ.


2. 400์ค๋ฅ: env์์ redirect url localhost => ์นด์นด์ค ๋๋ฒจ๋กญ์์ ๋ฆฌ๋ค์ด๋ ํธ ์ฃผ์ ๋๋ฉ์ธ์ ๋ง๊ฒ ์ถ๊ฐ ์ค์
hss been bloked by cors plolicy
์ด๊ฒ ํฌํธ๋ฅผ ๋ง์์ ๋ฐ์ํ๋ ์ค๋ฅ์ธ๊ฒ์ธ๊ฐ
์์ธ์ค ํ ํฐ์ ๋๋ฉ์ธ์์ ๋ฐ์์์ผํ๋๋ฐ ์ด๊ฑธ ๋ง์๋
funcions/index.js CORS๋ชจ๋์ ์ค์นํ๋ ํด๊ฒฐ
CORS ์ค๋ฅ ๊ด๋ จ ๋งํฌ
https://coding-groot.tistory.com/91
'๐ Back > โจ Firebase' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Firbase] ์ ๋ฌธ, ์ฌ์ฉํ๋ ์ด์ (0) | 2021.07.23 |
|---|