-
[flutter + firebase auth] 플러터 + 파이어베이스 로그인 연동 <firebase admin 설정> part-6개발일지/flutter 2021. 1. 22. 19:00
안녕하세요 개발하는 남자 개남입니다.
지난 포스팅에 이어서 본격적인 카카오, 네이버 로그인을 지원하기 위해 설정에 들어가 보겠습니다.
가장 먼저 firebase에 유저를 생성하기 위해 인증서버 쪽에 firebase admin을 세팅해보도록 하겠습니다.
Firebase 관리 콘솔로 이동합니다.
좌측 프로젝트 개요의 톱니바퀴 클릭 > 프로젝트 설정 클릭 해줍니다.
서비스 계정 탭을 선택하여 Firebase Admin SDK의 내용을 확인합니다.
기본적으로 Admin SDK는 Node.js와 자바 Python Go 언어를 지원하고 있습니다.
개인적으로 Node 서버로 인증처리를 진행할 계획이기에 Node js 선택을 해줍니다.
(지난 포스팅에 애플 로그인을 위해 안드로이드 iOS 13 이하 버전에서 인증을 하기 위한 Glitch를 사용할 계획입니다.)
Admin SDK 구성 스니펫 하단에 보이는 소스 코드를 복사해서 노드 서버 (Glitch 서비스)에 등록해줍니다.
var admin = require("firebase-admin"); var serviceAccount = require("./serviceAccountKey.json");//다운받은 인증키를 serviceAccountKey.json으로 저장했다 admin.initializeApp({ credential: admin.credential.cert(serviceAccount), databaseURL: "개별 부여된 디비 경로" });
동시에 하단 새 비공개 키 생성 버튼을 클릭하여 노드 서버에서 파이어 베이스로 request를 할 때 사용될 인증키를 받아줍니다.
이제 Glitch 서비스로 넘어와서 코드와 키 설정을 하겠습니다.
(단, 절대로 테스트에서만 Glitch를 사용해야 합니다. 편하다고 해서 현 Glitch로 서비스를 진행한다면 인증키가 노출될 수 있습니다.)
사용할 라이브러리를 임포트를 하겠습니다.
package.json 파일에 다음 3가지의 라이브러리를 dependencies에 추가해줍니다.
"firebase-admin": "^9.4.2", "async": "^3.1.0", "axios": "^0.19.0"
Glitch에서 package.json 파일에 라이브러리를 넣고 저장을 하면 자동으로 소스를 설치해줍니다.
로그를 확인하기 원한다면 하단의 Tools를 선택해주고 Logs 메뉴를 클릭해주면 설치했는지를 볼 수 있습니다.
설치가 완료되었다면 다음과 같이 파일을 구성할 것입니다.
편의를 위해 파일 관리를 따로 하지 않고 / 경로로 모두 배치하여 진행하였습니다.
serviceAccountKey.json 파일은 Firebase에서 제공해준 key파일을 업로드 하는 것입니다.
firebase_admin.js 파일은 Firebase 에서 제공해준 소스를 복사해서 옮겨준 것입니다.
kakao_auth.js 와 naver_auth.js는 각각 인증을 위해 소스를 구현할 파일입니다.
여기까지 했다면 firebase admin 세팅이 완료된 것입니다.
다음 포스팅부터 바로 카카오 로그인 구현을 진행해 보겠습니다.
'개발일지 > flutter' 카테고리의 다른 글
[flutter + firebase auth] 플러터 + 파이어베이스 로그인 연동 <네이버 로그인> part-8 (14) 2021.01.24 [flutter + firebase auth] 플러터 + 파이어베이스 로그인 연동 <카카오 로그인> part-7 (30) 2021.01.23 [flutter + firebase auth] 플러터 + 파이어베이스 로그인 연동 <oauth2 인증 프로세스> part-5 (2) 2021.01.21 [flutter + firebase auth] 플러터 + 파이어베이스 로그인 연동 <apple 로그인> part-4 (5) 2021.01.17 [flutter + firebase auth] 플러터 + 파이어베이스 로그인 연동 <facebook 로그인> part-3 (2) 2021.01.15