본문 바로가기

파이어베이스 인증(4) 구글 인증하기 & DB보안설정

by Recstasy 2019. 9. 24.

파이어베이스에서 구글, 페이스북, github 방식으로 인증을 구사하는 작업은 간단하다. node.js모듈을 활용한 인증방식도 꽤 편리했지만 파이어베이스는 그보다 훨씬 간편하다. 지금까지 진행했던 이메일 자체인증을 무사히 끝마쳤다면, 구글 인증을 통한 로그인 방식은 10분 안에 처리할 수 있다.


1 구글인증 켜기

파이어베이스 콘솔 -> 인증에서 '구글'인증을 활성화한다. 그리고 구글 인증을 사용하려면 node.js로 로컬서버를 반드시 켠 상태에서 진행해야 한다는 점을 명심하자.(페이스북, 깃허브도 마찬가지) 


2 구글 로그인 UI제작

로그인 내비게이션 메뉴에서 '구글'로그인 버튼을 생성한다.


3 auth.js 구글api설정

auth.js파일을 열고, googleButton변수를 생성해서 클릭 이벤트를 만든다. 아래 사진에서 노란색 부분은 원래 modal변수가 있던 자리였다. 이는 코드중복 사용을 막기위한 조치다. modal변수가 loginForm이벤트 밖에 있으면, googleButton 이벤트에서 그대로 재사용 가능하다.



firebase에서 auth관련 문서를 보면, gogle로그인 관련 메서드를 볼 수 있다. signInWithPopup(provider)은 구글 로그인 창을 띄우는 기능을 한다. 실제로 구글 인증을 담당하는 기능은 auth.GoogleAuthProvider()가 담당한다.  


위의 코드까지 진행했다면, 간편하게 구글인증 기능을 사용할 수 있다. 그리고 페이스북,github 등의 인증 방식은 구글과 거의 유사하다.(firebase Doc에 설명)


4 보안설정

인증기능을 설정했다면, 초기 '모두에게 허용'이라고 설정한 DB보안규칙을 손볼 때가 왔다. DB를 생성할 때 '다음'을 계속 클릭했다면, 아래처럼 설정이 되어 있을 것이다.


match / {***}(전체허용) 부분을 삭제하고, 자신이 설정한 DB Collection 이름을 match / 다음에 넣고 / {postId}를 입력한다. 아래와 같은 형식으로 보안 규칙을 설정하고 나면, cgSources컬렉션만 읽고 쓰기가 허용된다.


댓글

최신글 전체

이미지
제목
글쓴이
등록일