트위터 클론코딩 - 3.firebase Auth 얻기 및 추가

두두두·2022년 12월 10일
0

React

목록 보기
15/21

Router에서는 routing 기능만 해주기 위해 아래와 같이 코드를 변경한다.

App.js

function App() {
  const [isLoggedIn, setIsLoggedIn] = useState(false);

  return (
    <AppRouter isLoggedIn={isLoggedIn}/>
  );
}

Router.js

 const AppRouter = ({isLoggedIn}) => {
    return(
        <Router>
      ...

firebase Auth 사용

firebase Auth 기능을 사용하기 위해
fBase.js에 import "firebase/auth" 추가
App.js에 import fBase from "../fBase" 추가

jsconfig.json 파일을 프로젝트 폴더에(src 밖에) 생성
해당 내용으로 src를 파일 기본 경로로 설정

{
    "compilerOptions": {
        "baseUrl": "src"
    },
    "include": ["src"]
}

파일 경로 "../fBase" → "fBase"로 작성

firebase 공식문서를 보면 인증을 얻는 getAuth()사용법이 나와있다.
해당 문서를 참고하여 코드를 작성해보면
fBase.js

import { getAuth } from "firebase/auth";
...
export const authService = getAuth();

getAuth로 얻은 Auth 공식문서를 보면 currentUser에 현재 로그인된 사용자 또는 null값을 가지고 있으므로 로그인되었는지 판별하는데 사용한다.

App.js

function App() {
  const [isLoggedIn, setIsLoggedIn] = useState(authService.currentUser);

  return (
    <AppRouter isLoggedIn={isLoggedIn}/>
  );
}

firebase 인증 관리

firebase 홈페이지의 프로젝트에서 인증관리 -> sign-in method
이메일.비밀번호 클릭 사용 설정으로 변경
구글도 사용 설정으로 변경
github도 사용 설정으로 변경하려고 하는데
깃허브는 인증 설정을 해줘야한다.

github settings 에서 개발자셋팅-> OAuth Apps -> new OAuth Apps
firebase Auth github를 클릭했을 때 나오는 url을 복사하여 입력

저장하면 다음과 같이 id가 발급된다. 비밀번호를 생성하여
firebase Auth github에 아이디와 비밀번호를 입력하여 인증을 추가한다

완료

(로그인 인증이 이렇게 쉽다니 firebase에 살짝 감탄...)

0개의 댓글

관련 채용 정보