Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Firebase Authenticationについて

Firebase Authenticationについて

Firebase: https://firebase.google.com/?hl=ja
はてなブログ(React + Firebase でGoogleアカウントでのログイン機能を実装する): https://takashinoda.hatenablog.com/entry/2020/02/08/120000

Takahiro Shinoda

May 25, 2020
Tweet

More Decks by Takahiro Shinoda

Other Decks in Technology

Transcript

  1. 'JSFCBTFͱ͸ w (PPHMF͕ఏڙ͍ͯ͠ΔN#BB4 NPCJMF CBDLFOEBTBTFSWJDF  w N#BB4͸αʔόαΠυ؀ڥΛΫϥ΢υ্Ͱ ߦ͑ΔαʔϏε w

    ։ൃऀ͕αʔόαΠυଆͷॲཧΛ४උ͢Δ ඞཁ͕ͳ͘ͳΓ·͢ w ࣮ࡍʹاۀͷϓϩμΫτʹ΋ಋೖ͞Ε͍ͯ Δྫ΋͋Δ w ೔ຊޠυΩϡϝϯτ΋༻ҙ͞Ε͍ͯΔ https://firebase.google.com/?hl=ja
  2. 'JSFCBTFͰͰ͖Δࣄ w $MPVE'JSFTUPSF w .-,JU #&5"  w $MPVE'VODUJPO w

    "VUIFOUJDBUJPO w )PTUJOH w $MPVE4UPSBHF w 3FBMUJNF%BUBCBTF w $SBTIMZUJDT w 1FSGPSNBODF.POJUPSJOH w 5FTU-BC w "QQ%JTUSJCVUJPO #&5" w *O"QQ.FTTBHJOH #&5"  w (PPHMF"OBMZUJDT w 1SFEJDUJPOT w "#5FTUJOH #&5"  w $MPVE.FTTBHJOH w 3FNPUF$POpH w %ZOBNJD-JOLT 'JSFCBTF&YUFOTJPOT͸શͯ#&5"ͳͷͰׂѪ
  3. 'JSFCBTFͰͰ͖Δࣄ w $MPVE'JSFTUPSF w .-,JU #&5"  w $MPVE'VODUJPO w

    "VUIFOUJDBUJPO w )PTUJOH w $MPVE4UPSBHF w 3FBMUJNF%BUBCBTF w $SBTIMZUJDT w 1FSGPSNBODF.POJUPSJOH w 5FTU-BC w "QQ%JTUSJCVUJPO #&5" w *O"QQ.FTTBHJOH #&5"  w (PPHMF"OBMZUJDT w 1SFEJDUJPOT w "#5FTUJOH #&5"  w $MPVE.FTTBHJOH w 3FNPUF$POpH w %ZOBNJD-JOLT 'JSFCBTF&YUFOTJPOT͸શͯ#&5"ͳͷͰআ͘
  4. ϓϩδΣΫτϧʔτʹpSFCBTFKTΛ࡞੒ͯ͠BQJLFZͳͲΛೖྗ import firebase from 'firebase/app' import "firebase/auth" const firebaseConfig =

    { apiKey:, authDomain:, databaseURL:, projectId:, storageBucket:, messagingSenderId:, appId:, measurementId:, } firebase.initializeApp(firebaseConfig) export default firebase
  5. ೝূػೳͷίϯϙʔωϯτͰ͋Δ4JHOJOKTYΛ࡞੒ import React from 'react' import firebase from ‘../../firebase’ export

    const Signin = () => { const signinWithGoogle = () => { const provider = new firebase.auth.GoogleAuthProvider() firebase .auth() .signInWithPopup(provider) .then(user => { alert("success : " + user.user.displayName + "͞ΜͰϩάΠϯ͠·ͨ͠") }) .catch(error => { alert(error.message) }) } return ( <> <div className="login"> <h1>ϩάΠϯ</h1> </div> <div className="signin_button"> <img src="../btn_google_signin.png" onClick={()=>signinWithGoogle()} alt="google signin"/> </div> </> ) }
  6. ೝূػೳͷίϯϙʔωϯτͰ͋Δ4JHOJOKTYΛ࡞੒ import React from 'react' import firebase from ‘../../firebase’ export

    const Signin = () => { const signinWithGoogle = () => { const provider = new firebase.auth.GoogleAuthProvider() firebase .auth() .signInWithPopup(provider) .then(user => { alert("success : " + user.user.displayName + "͞ΜͰϩάΠϯ͠·ͨ͠"); }) .catch(error => { alert(error.message); }); } return ( <> <div className="login"> <h1>ϩάΠϯ</h1> </div> <div className="signin_button"> <img src="../btn_google_signin.png" onClick={()=>signinWithGoogle()} alt="google signin"/> </div> </> ); } ͜ͷ෦෼͕ೝূػೳͰ͢