[TypeScript] ๋ฆฌ์•กํŠธ ํŒŒ์ด์–ด๋ฒ ์ด์Šค ์†Œ์…œ ๋กœ๊ทธ์ธ ํŠธ์œ„ํ„ฐ ์ถ”๊ฐ€ํ•˜๊ธฐ
728x90

Today, What I learned?

ํŒŒ์ด์–ด๋ฒ ์ด์Šค๋กœ ์†Œ์…œ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋˜ ์ค‘ ๊ตฌ๊ธ€๊ณผ ๊นƒํ—ˆ๋ธŒ๋Š” ์‰ฝ๊ฒŒ ๋˜์—ˆ์ง€๋งŒ, ์• ํ”Œ์€ ์• ํ”Œ ๊ฐœ๋ฐœ์ž์— ๋“ฑ๋ก์ด ๋˜์–ด์žˆ์–ด์•ผ ํ•˜๊ณ ..

์นด์นด์˜ค๋Š” ์นด์นด์˜ค ์ธ์ฆ ํ›„ ํŒŒ์ด์–ด๋ฒ ์ด์Šค๋กœ ๋ณด๋‚ด์„œ ํŒŒ์ด์–ด๋ฒ ์ด์Šค์˜ ํ† ํฐ์„ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ๋„๋ก ํ•ด์•ผ ํ•˜๊ณ .. (์‹œ๊ฐ„์ด ์ข€ ๋” ์—ฌ์œ ๋กœ์šธ ๋•Œ ๋„์ „ํ•ด๋ณด๊ณ  ์‹ถ์Œ)

ํŠธ์œ„ํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•ด ๋ณด์ž! ์‹ถ์–ด์„œ ํŠธ์œ„ํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ณผ์ •์„ ๊ธฐ๋กํ•ด ๋ณธ๋‹ค.

 

 

ํŒŒ์ด์–ด๋ฒ ์ด์Šค ์ธ์ฆ ๋ถ€๋ถ„์— ํŠธ์œ„ํ„ฐ ์ถ”๊ฐ€

๋จผ์ € ํŒŒ์ด์–ด๋ฒ ์ด์Šค ๋กœ๊ทธ์ธ ์ œ๊ณต์—…์ฒด์—์„œ ํŠธ์œ„ํ„ฐ๋ฅผ ์‚ฌ์šฉ์„ค์ •์œผ๋กœ ์ถ”๊ฐ€ํ•ด ์ฃผ๊ธฐ.

 

 

์•„๋ž˜ ํŒŒ์ด์–ด๋ฒ ์ด์Šค ๊ณต์‹ ๋ฌธ์„œ์— ๋”ฐ๋ผ ํ•˜๋‚˜ํ•˜๋‚˜ ํ•ด๊ฐ€๋ฉด ๋˜๋Š”๋ฐ, ์ผ๋‹จ ์‚ฌ์šฉํ•  ์›น(ํ˜น์€ ์•ฑ)์„ ํŠธ์œ„ํ„ฐ ๊ฐœ๋ฐœ์ž ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋“ฑ๋กํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

 

https://firebase.google.com/docs/auth/web/twitter-login?hl=ko

 

JavaScript์—์„œ Twitter๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆ  |  Firebase

Google์€ ํ‘์ธ ๊ณต๋™์ฒด๋ฅผ ์œ„ํ•œ ์ธ์ข…์  ํ‰๋“ฑ์„ ์ถ”๊ตฌํ•˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ ์ด ํŽ˜์ด์ง€๋Š” Cloud Translation API๋ฅผ ํ†ตํ•ด ๋ฒˆ์—ญ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Switch to English ์˜๊ฒฌ ๋ณด๋‚ด๊ธฐ JavaScript์—์„œ Twitt

firebase.google.com

 

์•„๋งˆ ํŠธ์œ„ํ„ฐ ๋กœ๊ทธ์ธํ•ด์„œ ๋‹ค์‹œ ์ €๊ธฐ๋ฅผ ๋“ค์–ด๊ฐ€๋ฉด ์ฒ˜์Œ์— ๊ฐœ๋ฐœ์ž ๋“ฑ๋ก๋„ ํ•ด์ค˜์•ผ ํ•  ๊ฒƒ์ด๋‹ค.. ์ข€ ๋ณต์žกํ•จ ๐Ÿ˜‡

์ด ๋ถ€๋ถ„์€ ์บก์ฒ˜๋ฅผ ๋ชปํ•จ ใ… ใ… 

 

 

๊ทธ๋ฆฌ๊ณ  ๊ฐœ๋ฐœ์ž ๋“ฑ๋ก ํ›„์— ์–ด๋–ค ์šฉ๋„๋กœ ์‚ฌ์šฉํ•  ๊ฒƒ์ธ์ง€์— ๋Œ€ํ•œ ๊ฒƒ๋„ ์˜์–ด๋กœ ๊ตฌ๊ตฌ์ ˆ์ ˆ ์ ์–ด์„œ ๋“ฑ๋กํ•˜์—ฌ APIํ‚ค๋ฅผ ๋ฐ›์•„์•ผ ํ•œ๋‹ค...

๋Œ€์ถฉ ์ ์„ ์ˆ˜ ์—†๋‹ค. 200์ž ์ด์ƒ ์จ์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ..! 

 

์ฐธ๊ณ ํ–ˆ๋˜ ์•„๋ž˜ ๊ธ€์—์„œ ์‚ฌ์ง„๊ณผ ํ•จ๊ป˜ ์„ค๋ช…์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค~ 

https://limitt.tistory.com/145

 

ํŠธ์œ„ํ„ฐ twitter API ๊ฐœ๋ฐœ์ž ๊ณ„์ • ์‹ ์ฒญ ๋ฐ apps ๋“ฑ๋ก ํ›„๊ธฐ : ๋ฐ”๋กœ ์Šน์ธ ์„ฑ๊ณต

SNS์˜ ๋Œ€๋ช…์‚ฌ ์ค‘ ํ•˜๋‚˜์ธ ํŠธ์œ„ํ„ฐ. SNS๋ฅผ ํ™œ๋ฐœํ•˜๊ฒŒ ํ•˜์ง€ ์•Š๊ธฐ์— ๊ณ„์† ๊ฐ€์ž…์„ ๋ฏธ๋ฃจ๊ณ  ์žˆ๋‹ค๊ฐ€, ํŠธ์œ„ํ„ฐ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์†์‰ฝ๊ฒŒ ํฌ๋กค๋งํ•ด์˜ฌ ์ˆ˜ ์žˆ๋‹ค๋Š” ์†Œ์‹์„ ๋“ฃ๊ณ  ๋“œ๋””์–ด ๊ฐ€์ž…์„ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค! ํŠธ์œ„ํ„ฐ ๊ฐœ๋ฐœ

limitt.tistory.com

 

 

์•ฑ์„ ๋“ฑ๋กํ–ˆ์„ ๋•Œ ๋‚˜์˜ค๋Š” APIํ‚ค๊ฐ€ ์ด๋ ‡๊ฒŒ ๋‚˜์˜จ๋‹ค. ์ด ํ‚ค์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ํŒŒ์ด์–ด๋ฒ ์ด์Šค ๋ถ€๋ถ„์— ๋„ฃ์–ด์ค€๋‹ค.

 

 

 

ํŒŒ์ด์–ด๋ฒ ์ด์Šค์˜ Callback URL์„ ํŠธ์œ„ํ„ฐ์— ๋“ฑ๋ก

์ด์ œ ์ฝœ๋ฐฑ URL์„ ๋“ฑ๋กํ•ด์ฃผ์–ด์•ผ ํ•˜๋Š”๋ฐ!.. ์ด๊ฑธ ์–ด๋””์„œ ํ•˜๋Š๋ƒ! 

 

์ƒ์„ฑํ•œ ์•ฑ ์„ค์ •์— ๋“ค์–ด๊ฐ€์„œ ๋‚ด๋ ค๋ณด๋ฉด User authentication Settings๋ผ๋Š” ๋ถ€๋ถ„์ด ์žˆ๋‹ค.

์ฒ˜์Œ์—๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์…‹์—…์„ ํ•˜์„ธ์š” ์ƒํƒœ๋‹ค. 

 

Set up ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์„œ ๋“ค์–ด๊ฐ€๋ฉด ์š”๋Ÿฐ ํ™”๋ฉด์ด ๋‚˜์˜จ๋‹ค.

 

๋‚ด๋ ค๋ณด๋ฉด App info ๋ผ๋Š” ๋ถ€๋ถ„์ด ์žˆ๋Š”๋ฐ, ์—ฌ๊ธฐ์— ํŒŒ์ด์–ด๋ฒ ์ด์Šค์˜ ์ฝœ๋ฐฑ URL๊ณผ ๋ฐฐํฌ๋œ ์›น ์ฃผ์†Œ๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค.

 

 

์ฝ”๋“œ ์ ์šฉ

๊ทธ๋Ÿผ ์ด์ œ ์„ค์ •์€ ๋๋‚ฌ๊ณ !.. ๊ตฌ๊ธ€์ด๋‚˜ ๊นƒํ—ˆ๋ธŒ provider ์ถ”๊ฐ€ํ•ด ์ฃผ์—ˆ๋“ฏ์ด TwitterAuthProvider๋ฅผ import ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

const signInWithSocial = (social: string) => {
    let provider: any;

    if (social === 'github') {
      provider = new GithubAuthProvider();
    } else if (social === 'twitter') {
      provider = new TwitterAuthProvider();
    } else {
      provider = new GoogleAuthProvider();
    }
    ...

 

ํŠธ์œ„ํ„ฐ๋กœ ์ฒ˜์Œ ๋กœ๊ทธ์ธ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค ๋ณด๋‹ˆ ๋ฐ”๋กœ ๋กœ๊ทธ์ธ์ด ๋œ๋‹ค ใ…Ž 

์•„๋ฌดํŠผ ์ž˜ ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค!

728x90