Android에서 Firebase 로그인 - 1

2023. 3. 27. 21:25Mobile/Android

작성자알 수 없는 사용자

728x90
반응형

안녕하세요. 기깔나는 사람들에서 안드로이드를 맡고 있는 miple입니다.

이번에는 Firebase에서 토큰을 발급받는 것에 대해 해볼게요.

이번 포스트에는 Local 환경에 firebase emulator를 깔아보는 것까지 하니 참고하세요.


우선 안드로이드에서 직접 Firebase와 통신해서 토큰을 발행 할 수가 없어요. 백엔드 서버 하나를 거쳐야지 발급이 가능하기 때문에 백엔드 서버를 대신할 Firebase emulator 중 하나인 Functions을 선택해서 진행을 할거에요.

Firebase emulatorFirebase가 제공하는 Local 환경에 설치하여 실제 firebase와 비슷한 서비스를 제공하는 에뮬레이터 도구 모음이에요.  실제 Firebase가 아닌 가상의 Firebase라 봐도 되는데요. 이런 점때문에 에뮬레이터에 직접 연결하여 통합 테스트 또는 QA를 진행 할 수 있어요.

우선 Firebase emulator를 쓰기 위해서는 Firebase CLI 설치를 해야하는데 2개의 방법이 있어요. 직접 독립 실행형 바이너리 파일을 다운 받아 사용하거나, npm를 통해 설치가 가능해요. 이 글에서는 직접 독립 실행형 바이너리 파일을 다운 받아 진행 할게요.

https://firebase.google.com/docs/cli?hl=ko#install_the_firebase_cli 에 들어가면, Windows, macOS, Linux 버전으로 해당 파일을 다운 받을 수 있어요. 다운을 받고 실행시키면 실행시킨 폴더 기준으로 firebase CLI 창이 열려요.

이제 friebase emulator를 깔 디렉터리로 이동하여 명령어 2개를 처셔 기본적인 것을 설치 해주시면 되요.

$ firebase init
$ firebase init emulators

emulator를 초기화 시 이번 필요한 것들은 Authentication, Functions이니 나머지는 원하시면 추가로 선택해서 하시면 되요.

다음으로, Functions를 위해 좀 더 과정이 필요해요. 해당 디렉터리에 "functions" 폴더를 생성하고 안으로 이동하여, CLI에 밑의 명령어를 넣으면 되요.

$ firebase init functions

생성된 폴더에 들어가게 되면 여러 폴더 중 index.js가 있을 거에요. 거기다가 아래의 코드를 붙혀 넣으시면됩니다.

 

index.js

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();

exports.createCustomToken = functions.https.onCall((data, context) => {
  const uid = data.uid;

  return admin.auth().createCustomToken(uid)
    .then((customToken) => {
      return { token: customToken };
    })
    .catch((error) => {
      console.log('Error creating custom token:', error);
      throw new functions.https.HttpsError('unknown', 'Error creating custom token', error);
    });
});

exports.helloWorld = functions.https.onRequest((request, response) => {
  response.send("Hello from Firebase!");
});

실행을 시켜주면 되는데요. init emulator를 했던 디렉터리에서 아래의 명령어를 Firebase CLI에 입력해주시면 되요.

$ firebase emulators:start

아무 브라우저에 들어가서 "localhost:4000"에 들어가시면 UI가 보일거에요.

밑에 있는 요소들 중에 Functions emulator에 가시면 view logs 가 있을 거에요. 들어가셔서 아래와 같이 로그가 떠있으면 받을 준비가 된거에요. 


이번 시간에는 토큰을 받기 위해 로컬에 Firebase emulator를 설치해 보았는데요. 다음 시간에는 안드로이드에서 emulator와 통신을하여 로그인 및 토큰 받아오기를 해볼게요.

 


https://firebase.google.com/docs/emulator-suite?hl=ko 

 

Firebase 로컬 에뮬레이터 도구 모음 소개

Firebase 로컬 에뮬레이터 도구 모음은 수많은 Firebase 제품 에뮬레이터를 사용하여 로컬에서 앱을 빌드하고 테스트하려는 개발자를 위한 고급 도구 모음으로, 빠른 실행과 프로토타입 제작에 도움

firebase.google.com

https://firebase.google.com/docs/cli?hl=ko#install_the_firebase_cli

 

Firebase CLI 참조  |  Firebase 문서

 

firebase.google.com

 

728x90
반응형