๐ ํ์ด์ด๋ฒ ์ด์ค ํค ๊ณต๊ฐ ๋ณด์ ์ค์ - FRONTENDBOOTCAMP-13th/JS-07-7zzang-Arcade GitHub Wiki
๊ตฌ๋ถ
- ๋ ์ง : 2025.05.22
- ์ข ๋ฅ : ์ค๊ณ ๋ฌธ์
- ์ค์๋ : ๐ก
1. ๋ฌธ์ ์ํฉ
ํค๊ฐ ๋ ธ์ถ๋๋ฉด ๋ณด์ ๊ณต๊ฒฉ์ ์ทจ์ฝํด์ง๊ธฐ ๋๋ฌธ์ ํด๋น ๋ถ๋ถ์ ํด๊ฒฐํ๊ณ ์ ํ์๋ค.
๋ฐ๋ผ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ท์น์ ์ธ์ฆ๋ ์ฌ์ฉ์๋ง ์ ๊ทผ ๊ฐ๋ฅํ๋๋ก ๋ฐ๊พธ์๋ค.
๊ทผ๋ฐ ์ด๋ ๊ฒ ์ค์ ํ๊ณ ๋๋, db ๋ฐ์์ ์ํ๊ณ , ๋น์ฐํ ์ ์ ์ ๋ ฅ๋ ๋ถ๊ฐ๋ฅํด์ก๋ค.
2. ํด๊ฒฐ ๋ฐฉ๋ฒ
ํ์ฌ ์ฐ๋ฆฌ ํ ํ์ด์ง์์๋ ๋ก๊ทธ์ธ ๊ณผ์ ์ด ์๊ธฐ ๋๋ฌธ์ ์ต๋ช ๋ก๊ทธ์ธ์ด ๋๋๋ก ์ค์ ํด์ผ ํ๋ค.
๋ฐ๋ผ์ ํ์ด์ด๋ฒ ์ด์ค์ ํ๋ก์ ํธ ๋น๋์์ Authentication์ ํ๋ก์ ํธ์ ์ถ๊ฐํด์ผ ํ๋ค.
์ด๋ฐ ์์ผ๋ก ๋ฐ์ดํฐ๊ฐ ๋ค์ด์จ๋ค
์ด๋ ๊ฒ ์ถ๊ฐ๋ฅผ ํด์ฃผ๊ณ , ํ์ด์ด๋ฒ ์ด์ค๋ฅผ ๋ถ๋ฌ์์ ์ด๊ธฐํํ๋ firebase.ts
์ ์ค์ฝ์ด ์ปฌ๋ ์
์ ์ค์ ํ scoreService.ts
์ ์ธ์ฆ์ ๋ํ ์ฝ๋๋ฅผ ๋ฃ์ด์ ์์ ํด์ฃผ๋ฉด db ์ฐ๊ฒฐ์ด ์ ๋๊ณ , ์ต๋ช
์ด์ด๋ ์ ์ ์ ์ฅ์ด ๊ฐ๋ฅํด์ง๋ค.
// firebase.ts
// ์ถ๊ฐ !
import { getAuth, signInAnonymously } from 'firebase/auth';
export const auth = getAuth(app);
signInAnonymously(auth).catch();
// scoreServic.ts
// ์ถ๊ฐ !
import { getAuth, signInAnonymously, onAuthStateChanged } from 'firebase/auth';
// ์ธ์ฆ ๊ฐ์ฒด ๊ฐ์ ธ์ค๊ธฐ. ๋ถ๋ฌ์์ ์ค์ ์ ๋ง๊ฒ ๋ณ์๋ฅผ ์ด์ฉํ๋ฉด ๋๋ค.
const auth = getAuth();
3. ํด๊ฒฐ ๋ฐฉ๋ฒ ๊ฐ์ ์
์ด ๋ฐฉ๋ฒ์ ์๊ท๋ชจ ํ๋ก์ ํธ๊ณ ๊ณต๊ฒฉ ์ํ์ฑ์ด ์๊ธด ํ์ง๋ง ๋ฎ๊ธฐ ๋๋ฌธ์ ํ์ฌ ๋จ๊ณ์์ ํ ์ ์๋ ๋ฐฉ๋ฒ์ด๋ค. ํ์ฌ ํ์ด์ง๋ฅผ ์ค์ ๋ก ๋ฐฐํฌํ์ฌ ์๋น์ค ์ด์์ ํ๊ฒ ๋ ๊ฒฝ์ฐ์๋ ์ต๋ช ์ธ์ฆ๋ณด๋ค ์ธ์ฆ์ ์ฒด๋ฅผ ๋ฑ๋กํด์ ๋ก๊ทธ์ธ ๋ฐ๋๋ก ํ๋ ๊ฒ์ด ์ข๋ค๊ณ ํ๋ค.
ํ๋จ์ ํ๋ก์ ํธ๋ผ ์ธ์ฆ์ ๋ํด ์๊ฐํ์ง ๋ชปํ๋๋ฐ ์ด๋ฐ api ์ค์ ํ ๋ ๋ฃ์ด๋๋ฉด ์ข์์ ๊ฑธ ์ถ์๋ค. ๋์ค์ ์ถ๊ฐํ๋ ์ธ์ฆ ์ ์ผ์ด์ค๋ฅผ ๊ณ ๋ คํ์ฌ ์ฝ๋๋ฅผ ๋ค์ ์์ฑํด์ผํ๋ ์ผ์ด โฆ ๐ฅฒ