Firebase 인증
Firebase 인증은 앱에서 사용자 인증 시 필요한 백엔드 서비스와 사용하기 쉬운 SDK, 기성 UI 라이브러리를 제공합니다. 비밀번호, 전화번호, 인기 제휴 ID 공급업체(예: Google, Facebook, Twitter 등)를 통해 인증이 지원됩니다.
Firebase 인증은 여타 Firebase 서비스와 긴밀히 연동하고 OAuth 2.0 및 OpenID Connect 등의 업계 표준을 활용하므로 커스텀 백엔드와 쉽게 통합할 수 있습니다.
주요 기능
Firebase 앱에 대한 사용자 로그인을 처리할 때는 FirebaseUI를 완전 삽입형 인증 솔루션으로 사용하는 방법도 있고 Firebase 인증 SDK를 사용해 하나 이상의 로그인 방법을 앱에 통합하는 방법도 있습니다.
FirebaseUI 인증 | |
---|---|
삽입형 인증 솔루션 |
전체 로그인 시스템을 추가할 때 권장하는 방법입니다. FirebaseUI는 이메일 주소와 비밀번호, 전화번호는 물론 Google 로그인 및 Facebook 로그인 등의 인기 제휴 ID 공급업체를 이용하여 사용자 로그인의 UI 흐름을 처리하는 삽입형 인증 솔루션을 제공합니다. FirebaseUI 인증 구성요소는 모바일 기기 및 웹사이트를 통한 인증의 모범 사례를 구현하여 앱의 로그인 및 가입 전환을 극대화합니다. 또한 보안에 민감하고 제대로 처리하기에 오류가 발생하기 쉬운 계정 복구, 계정 연결 등과 같은 특이한 문제도 처리해 줍니다. FirebaseUI는 앱 전체의 시각적인 스타일에 어울리도록 모양을 변경하기가 쉽고 오픈소스이므로 원하는 사용자 환경을 아무런 제약 없이 구현할 수 있습니다. |
Firebase SDK 인증 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
이메일 및 비밀번호 기반 인증 | 이메일 주소와 비밀번호로 사용자를 인증합니다. Firebase 인증 SDK는 사용자의 이메일 주소와 비밀번호를 사용해 로그인을 처리하는 사용자 계정을 생성하고 관리하는 수단을 제공합니다. Firebase 인증은 또한 비밀번호 재설정 이메일 전송도 처리합니다. |
||||||||||
ID 공급업체 통합 | 제휴 ID 공급업체와 통합하여 사용자를 인증합니다. Firebase 인증 SDK는 사용자들이 Google, Facebook, Twitter, GitHub 계정으로 로그인할 수 있는 수단을 제공합니다.
|
||||||||||
전화번호 인증 | 휴대전화로 SMS 메시지를 보내 사용자를 인증합니다. |
||||||||||
커스텀 인증 시스템 통합 |
앱의 기존 로그인 시스템을 Firebase 인증 SDK에 연결하면 Firebase 실시간 데이터베이스와 기타 Firebase 서비스를 이용할 수 있습니다. |
||||||||||
익명 인증 | 임시 익명 계정을 생성하여 사용자들이 로그인하지 않고도 인증할 수 있게 해 주는 기능을 사용하세요. 사용자가 나중에 가입을 결심하면 익명 계정을 일반 계정으로 업그레이드하여 사용자의 이용 내역을 그대로 가져올 수 있습니다. |
작동 원리
사용자를 앱에 로그인시키려면 우선 사용자에게서 인증 정보를 받아야 합니다. 이 사용자 인증 정보는 사용자의 이메일 주소와 비밀번호일 수도 있고, 제휴 ID 공급업체에서 받은 OAuth 토큰일 수도 있습니다. 그런 다음 이 사용자 인증 정보를 Firebase 인증 SDK로 전달합니다. 그러면 Firebase의 백엔드 서비스가 정보를 확인하여 클라이언트에 응답을 반환합니다.
로그인이 정상적으로 이루어진 후에는 사용자의 기본 프로필 정보에 액세스할 수 있으며 다른 Firebase 제품에 저장된 데이터에 대한 사용자의 액세스 권한을 제어할 수 있습니다. 또한 받은 인증 토큰을 사용해서 자체 백엔드 서비스에서도 사용자의 신원을 확인할 수 있습니다.
구현 경로
FirebaseUI 인증 사용 | ||
---|---|---|
로그인 방법 설정 | 이메일 주소와 비밀번호 로그인, 전화번호 로그인 및 지원할 제휴 ID 공급업체를 통한 로그인은 Firebase Console에서 사용 설정하고 OAuth 리디렉션 URL 설정과 같은 ID 공급업체의 요건에 따라 구성을 완료합니다. | |
로그인 UI 맞춤설정 | FirebaseUI 옵션을 설정하여 로그인 UI를 맞춤설정하거나 GitHub의 코드를 퍼 와서 로그인 경험을 한층 더 맞춤설정할 수 있습니다. | |
FirebaseUI를 통한 로그인 흐름 진행 | FirebaseUI 라이브러리를 가져와서 지원하고자 하는 로그인 방법을 지정하고 FirebaseUI 로그인 흐름을 시작합니다. |
Firebase 인증 SDK 사용 | ||
---|---|---|
로그인 방법 설정 | 이메일 주소와 비밀번호 로그인, 전화번호 로그인 및 지원할 제휴 ID 공급업체를 통한 로그인은 Firebase Console에서 사용 설정하고 OAuth 리디렉션 URL 설정과 같은 ID 공급업체의 요건에 따라 구성을 완료합니다. | |
해당 로그인 방법에 대한 UI 흐름 구현 | 이메일 주소 및 비밀번호를 통한 로그인의 경우 사용자에게 이메일 주소와 비밀번호를 입력하도록 하는 흐름을 구현합니다. 전화번호 로그인의 경우 사용자에게 전화번호를 요청한 후 수신된 SMS 메시지의 코드를 입력하도록 안내하는 흐름을 만듭니다. 제휴 로그인의 경우 각 공급업체의 요건에 따라 흐름을 구현합니다. | |
Firebase 인증 SDK에 사용자 인증 정보 전달 | 사용자의 이메일 주소와 비밀번호, 또는 제휴 ID 공급업체에서 받은 OAuth 토큰을 Firebase 인증 SDK에 전달합니다. |
다음 단계
Firebase 프로젝트의 사용자에 대해 더 알아보고 지원하고자 하는 로그인 공급업체에 대한 통합 가이드를 확인하세요.
어디서부터 시작해야 할지 막막하신가요?