Firebase Google Auth

노준혁·2023년 6월 19일

https://firebase.google.com/docs/auth?hl=ko
https://firebase.google.com/docs/auth/android/google-signin
https://m.blog.naver.com/chltmddus23/221784299552
https://www.youtube.com/watch?v=zCIfBbm06QM&ab_channel=PhilippLackner
https://www.youtube.com/watch?v=cO1qSWMEM6s&ab_channel=YoursSohail


Firebase Authentication

  • 대부분 앱에서 사용자의 신원 정보를 필요로 한다. -> 앱이 사용자 데이터를 클라우드에 안전하게 저장하고 사용자의 모든 기기에서 개인에게 맞춘 동일 경험 제공할 수 있기 때문.

  • Firebase Authentication은 앱에서 사용자 인증 시 다음과 같은 이점을 제공한다.

    • 필요한 백엔드 서비스
    • 사용하기 쉬운 SDK
    • 기존 UI 라이브러리
    • 비밀번호, 전화번호, 다양한 소셜 로그인 기능(ID 공급업체, 예: Google, Facebook, Twitter 등)를 통한 통합된 인증 방식
  • Firebase Authentication은 Firebase의 다른 서비스(A/B 테스팅, 사용자 정보 분석, 사용자 집계 등)와 연동이 되며 OAuth 2.0 및 OpenID Connect 등의 산업 표준을 활용하므로 커스텀 백엔드와 쉽게 통합이 가능하다.

  • Identity Platform을 사용한 Firebase Authentication으로 기존의 인증 과정을 업그레이드하면 다중 인증(MFA = multi-factor authentication), Blocking functions, User 활동 및 audit Logging, SAML, generic OpenID Connect 지원, 멀티테넌시(multi-tenancy), 엔터프라이즈 수준의 지원과 같은 추가 기능 사용 가능


커스텀 서버의 Authentication과 비교해 Firebase Authentication을 썼을 때의 장단점

  • 다양한 인증 절차:
    이메일과 비밀번호, 전화번호 인증 뿐만 아니라 다양한 소셜 로그인 기능(Google, Facebook, Twitter 등)을 지원 -> 다양한 인증 방식을 쉽게 통합 가능

  • 유지보수
    Firebase는 Google에서 관리하는 서비스로, Google이 보안 업데이트와 패치를 주기적으로 제공 -> 직접 보안 이슈를 해결하는데 시간 낭비를 줄일 수 있음. 그러나, 커스텀 서버를 통한 인증 방식을 채택한다면 이러한 보안 이슈를 해결하는데 신경을 써야 함.

  • 구현 속도:
    Firebase는 사용하기 쉬운 SDK와 풍부한 레퍼런스를 제공하기에, 인증 시스템을 빠르게 구축하기 간편함. 이는 개발 시간을 줄이고, 시장 진입 시간을 단축할 수 있음.

  • 플랫폼 독립성:
    Firebase는 안드로이드 뿐만 아니라 iOS, 웹, 그리고 다양한 서버 사이드 언어에 대한 SDK를 제공 -> 이는 서버와 클라이언트 간의 통신이 더 쉽고 일관성 있게 만들어 주며, 다양한 플랫폼에 쉽게 적용 가능하게 함

  • 종속성:
    종속성 측면에서 Firebase의 Authentication 체계를 사용한다면, Firebase 서비스에 대한 종속성이 생기고, 고도화된 혹은 예상치 못한 유저 인증 방식을 다루기에는 제한적일 수 있다.
    또한, 데이터에 대해 엄격한 요구사항이 있는 경우, 외부 클라우드 서비스에 대한 신뢰 문제가 발생할 수도 있다.

profile
https://github.com/nohjunh

0개의 댓글