////
Search
Duplicate

Firebase Auth 특징, 장/단점

작성자: Ian
작성일: 210120

특징

우리가 잘 못 알고 있던 정보로 사용자 정보는 Firestore → Firebase Authentication(이하 Auth) 그 자체에 저장됨 (Firestore에 저장된다고 생각하고 있을 때는 MLKit에서 사용자정보를 응용할 수 있을 것으로 생각)
Apple, Facebook, Google, Twitter, Github 로그인은 보다 쉽게 통합 가능
전화번호 인증 기능 제공
이외 OAuth(Kakao) 로그인도 통합 가능 (맞춤 인증 시스템 사용하기)
토큰 종류
이메일 가입 사용자는 Firebase ID 토큰을 통해 인증 가능
ID 제공업체(Apple 등) 가입 사용자는 ID 제공업체 토큰을 통해 인증 가능
이외 OAuth 가입 사용자는 Firebase 맞춤 토큰을 통해 인증 가능

Firebase Auth 장점

토큰을 Firebase API와 통신할 때마다 자동 갱신 가능
모든 OAuth 인증 관리포인트를 일원화 가능 → 이외 OAuth 서비스를 통해 생성된 사용자도 UID를 발급받을 수 있음
계정정보 변경때문에 사용자에게 메일을 보내는 경우 직접 메일러(mailgun 등) API를 구현/사용료 결제를 할 필요 없음
ID 제공업체(Apple 등) 통합은 콘솔에서 API키/비밀키만 입력하면 끝인듯
직접구현보다 구현시간이 짧음

Firebase Auth 단점

이메일 인증을 따로 제공하지 않음 (제공해요 .. dennis가 씀 )
Firebase Auth에 저장된 정보를 서비스 API에서 활용할 때 필요한 통신 비용이 직접구현보다 큼 (HTTP API와 통신 > DB 인스턴스와 통신)

결론

Firebase Auth은 OAuth 인증을 아예 1군데로 통합해서 관리할 수 있게 도와줌
기본 제공(Apple 등) 외의 OAuth는 통합하는데 공수가 얼마나 들지는 모르겠지만, 직접 구현보다는 덜 들 것으로 보임
인증 방식을 Firebase Auth로 하면 아래의 고민을 해결할 수 있음
관리포인트를 줄이고 싶은지? (메일러, 토큰관리)
구현할 소셜 로그인이 계속 늘어날지?
토큰 자동갱신이 되지 않는 서비스도 노코드로 자동갱신으로 바꾸고 싶은지?
전화번호 인증 기능을 뚝딱 구현하고 싶은지?

참조