๐Ÿ” ํŒŒ์ด์–ด๋ฒ ์ด์Šค ํ‚ค ๊ณต๊ฐœ ๋ณด์•ˆ ์„ค์ • - 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 ์„ค์ •ํ•  ๋•Œ ๋„ฃ์–ด๋‘๋ฉด ์ข‹์•˜์„ ๊ฑธ ์‹ถ์—ˆ๋‹ค. ๋‚˜์ค‘์— ์ถ”๊ฐ€ํ•˜๋‹ˆ ์ธ์ฆ ์‹œ ์ผ€์ด์Šค๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ๋‹ค์‹œ ์ž‘์„ฑํ•ด์•ผํ•˜๋Š” ์ผ์ด โ€ฆ ๐Ÿฅฒ