Firebase Authentication

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

Firebase Authentication은 앱에서 사용자 인증 시 필요한 백엔드 서비스와 사용하기 쉬운 SDK, 기성 UI 라이브러리를 제공합니다. 비밀번호, 전화번호, 인기 제휴 ID 공급업체(예: Google, Facebook, Twitter 등)를 통해 인증이 지원됩니다.

Firebase Authentication은 여타 Firebase 서비스와 긴밀히 연동하고 OAuth 2.0 및 OpenID Connect 등의 산업 표준을 활용하므로 커스텀 백엔드와 쉽게 통합할 수 있습니다.

Firebase Authentication with Identity Platform으로 업그레이드하면 다중 인증(MFA), 차단 함수, 사용자 활동 및 감사 로깅, SAML, 일반 OpenID Connect 지원, 멀티테넌시, 엔터프라이즈 수준의 지원과 같은 추가 기능을 사용할 수 있습니다.

시작하는 방법 알아보기

주요 기능

Firebase 앱에 대한 사용자 로그인을 처리할 때는 FirebaseUI를 완전 삽입형 인증 솔루션으로 사용하는 방법도 있고 Firebase Authentication SDK를 사용해 하나 이상의 로그인 방법을 앱에 통합하는 방법도 있습니다.

FirebaseUI 인증
삽입형 인증 솔루션

전체 로그인 시스템을 추가할 때 권장하는 방법입니다.

FirebaseUI는 이메일 주소와 비밀번호, 전화번호는 물론 Google 로그인 및 Facebook 로그인 등의 인기 제휴 ID 공급업체를 이용하여 사용자 로그인의 UI 흐름을 처리하는 삽입형 인증 솔루션을 제공합니다.

FirebaseUI 인증 구성요소는 모바일 기기 및 웹사이트를 통한 인증의 모범 사례를 구현하여 앱의 로그인 및 가입 전환을 극대화합니다. 또한 보안에 민감하고 제대로 처리하기에 오류가 발생하기 쉬운 계정 복구, 계정 연결 등과 같은 특이한 문제도 처리해 줍니다.

FirebaseUI는 앱 전체의 시각적인 스타일에 어울리도록 모양을 변경하기가 쉽고 오픈소스이므로 원하는 사용자 환경을 아무런 제약 없이 구현할 수 있습니다.

iOS Android

Firebase SDK 인증
이메일 및 비밀번호 기반 인증

이메일 주소와 비밀번호로 사용자를 인증합니다. Firebase Authentication SDK는 사용자의 이메일 주소와 비밀번호를 사용해 로그인을 처리하는 사용자 계정을 생성하고 관리하는 수단을 제공합니다. Firebase Authentication은 또한 비밀번호 재설정 이메일 전송도 처리합니다.

iOS Android C++ Unity

ID 공급업체 통합

제휴 ID 공급업체와 통합하여 사용자를 인증합니다. Firebase Authentication SDK는 사용자들이 Google, Facebook, Twitter, GitHub 계정으로 로그인할 수 있는 수단을 제공합니다.

Google iOS Android C++ Unity
Apple로 로그인 iOS Android C++ Unity
Facebook iOS Android C++ Unity
Twitter iOS Android C++ Unity
GitHub iOS Android C++ Unity
전화번호 인증

휴대전화로 SMS 메시지를 보내 사용자를 인증합니다.

iOS Android C++ Unity

커스텀 인증 시스템 통합

앱의 기존 로그인 시스템을 Firebase Authentication SDK에 연결하면 Firebase Realtime Database와 기타 Firebase 서비스를 이용할 수 있습니다.

iOS Android C++ Unity

익명 인증

임시 익명 계정을 생성하여 사용자들이 로그인하지 않고도 인증할 수 있게 해 주는 기능을 사용하세요. 사용자가 나중에 가입을 결심하면 익명 계정을 일반 계정으로 업그레이드하여 사용자의 이용 내역을 그대로 가져올 수 있습니다.

iOS Android C++ Unity

Firebase Authentication with Identity Platform

Firebase Authentication with Identity PlatformFirebase Authentication에 몇 가지 새로운 기능을 추가하는 업그레이드(선택사항)입니다.

이 업그레이드는 마이그레이션이 필요하지 않습니다. 기존 클라이언트 SDK 및 Admin SDK 코드가 전과 같이 계속 작동하며 향상된 로깅 및 엔터프라이즈급 지원, SLA와 같은 기능에 즉시 액세스할 수 있습니다. 일부 추가 코드를 사용하면 다중 인증, 차단 함수, SAML 및 OpenID Connect 제공업체의 지원을 추가할 수 있습니다.

Firebase Authentication with Identity Platform은 기본 제품과는 다른 가격 책정 체계를 사용합니다. 업그레이드 시 무료 요금제 (Spark) 프로젝트는 일일 활성 사용자가 3,000명으로 제한되며 사용한 만큼만 지불하는 요금제 (Blaze) 프로젝트는 무료 등급인 50,000명의 월간 활성 사용자 수를 넘으면 사용량에 대한 요금이 부과됩니다. 업그레이드하기 전에 청구 방식이 미치는 영향을 이해해야 합니다.

아래에서 새로운 기능, 가격, 한도에 대해 자세히 알아보세요.

기능

다중 인증(MFA)

SMS를 통한 다중 인증(MFA)을 사용하면 앱에 보안 레이어가 추가되어 사용자의 데이터를 보호됩니다.

Apple, Android, 앱에 MFA를 추가하는 방법을 알아보세요.

차단 함수

차단 함수를 사용하면 사용자가 앱에 등록하거나 로그인한 결과를 수정하는 커스텀 코드를 실행할 수 있습니다.

차단 함수로 Firebase Authentication을 확장하는 방법을 알아보세요.

SAML 및 OpenID Connect 제공업체

SAML(웹만 해당) 및 Firebase에서 기본적으로 지원하지 않는 OpenID Connect 제공업체를 사용한 로그인을 지원합니다.

SAML 로그인을 웹 앱에 추가하고 OpenID Connect 로그인을 Apple ,Android, 앱에 추가하는 방법을 알아보세요.

사용자 활동 및 감사 로깅

관리 액세스, 최종 사용자 활동을 모니터링하고 로깅하세요.

프로젝트를 업그레이드하면 Cloud Logging에서 관리자 활동 감사 로그가 자동으로 사용 설정됩니다. Firebase Console의 인증 설정 페이지에서 사용자 활동 로깅을 사용 설정할 수도 있습니다.

로그를 보고 분석하는 방법을 알아보려면 Cloud Logging 문서를 참조하세요.

App Check로 악용 방지

App Check는 승인되지 않은 클라이언트가 인증 엔드포인트에 액세스하는 것을 방지하여 프로젝트를 악용으로부터 보호해 줍니다.

App Check를 사용 설정하는 방법은 App Check 문서를 참조하세요.

멀티테넌시

테넌트를 사용하면 단일 프로젝트 내에 사용자 및 구성의 고유한 사일로를 여러 개 만들 수 있습니다.

Cloud Identity Platform 문서에서 멀티테넌시 시작하기를 참조하세요.

엔터프라이즈 지원 및 SLA

업그레이드 시 Identity Platform 서비스수준계약(SLA)에 따라 인증 서비스에 업타임을 보장하고 엔터프라이즈급 지원을 받을 수 있습니다.

익명 사용자 자동 정리

계정을 만든 지 30일이 지나면 익명 계정이 자동으로 삭제되도록 설정할 수 있습니다. 또한 익명 계정은 더 이상 결제 및 사용 할당량에 포함되지 않습니다.

사용량 한도

업그레이드할 때 Firebase Authentication with Identity Platform을 사용하면 Firebase Authentication 사용에 새로운 한도가 적용됩니다.

무료(Spark)

무료 (Spark) 요금제의 프로젝트에서는 대부분의 로그인 제공업체에 대해 일일 활성 사용자(DAU)가 3,000명으로 새로 제한됩니다. 일일 활성 사용량은 24시간 동안의 순 사용자 로그인 수를 기준으로 계산됩니다.

제공업체 새 한도 이전 한도
이메일, 소셜 미디어, 익명, 커스텀 DAU 3,000명 무제한
SAML, OpenID Connect DAU 2명 해당 사항 없음

사용한 만큼만 지불(Blaze)

Blaze 요금제의 프로젝트 가격은 월간 활성 사용자 수(MAU)를 기준으로 하며 무료 등급 사용자 50,000명을 포함합니다. 활성 사용자는 해당 결제 기간 내에 계정을 사용한 사용자입니다.

제공업체 무료 등급 무료 등급 초과 시 MAU당 비용($)
이메일, 소셜 미디어, 익명, 커스텀 MAU 0~49,999명 MAU당 0.0025~0.0055
SAML, OpenID Connect MAU 0~49명 MAU당 0.015

프로젝트 업그레이드

프로젝트를 Firebase Authentication with Identity Platform으로 업그레이드하려면 Firebase Console의 인증 설정 페이지를 엽니다.

기본 원리

플랫폼에 효과적인 링크

사용자를 앱에 로그인시키려면 우선 사용자에게서 인증 정보를 받아야 합니다. 이 사용자 인증 정보는 사용자의 이메일 주소와 비밀번호일 수도 있고, 제휴 ID 공급업체에서 받은 OAuth 토큰일 수도 있습니다. 그런 다음 이 사용자 인증 정보를 Firebase Authentication SDK로 전달합니다. 그러면 Firebase의 백엔드 서비스가 정보를 확인하여 클라이언트에 응답을 반환합니다.

로그인이 정상적으로 이루어진 후에는 사용자의 기본 프로필 정보에 액세스할 수 있으며 다른 Firebase 제품에 저장된 데이터에 대한 사용자의 액세스 권한을 제어할 수 있습니다. 또한 받은 인증 토큰을 사용해서 자체 백엔드 서비스에서도 사용자의 신원을 확인할 수 있습니다.

구현 경로

FirebaseUI 인증 사용
로그인 방법 설정 이메일 주소와 비밀번호 로그인, 전화번호 로그인 및 지원할 제휴 ID 공급업체를 통한 로그인은 Firebase 콘솔에서 사용 설정하고 OAuth 리디렉션 URL 설정과 같은 ID 공급업체의 요건에 따라 구성을 완료합니다.
로그인 UI 맞춤설정 FirebaseUI 옵션을 설정하여 로그인 UI를 맞춤설정하거나 GitHub의 코드를 퍼 와서 로그인 경험을 한층 더 맞춤설정할 수 있습니다.
FirebaseUI를 통한 로그인 흐름 진행 FirebaseUI 라이브러리를 가져와서 지원하고자 하는 로그인 방법을 지정하고 FirebaseUI 로그인 흐름을 시작합니다.
Firebase Authentication SDK 사용
로그인 방법 설정 이메일 주소와 비밀번호 로그인, 전화번호 로그인 및 지원할 제휴 ID 공급업체를 통한 로그인은 Firebase 콘솔에서 사용 설정하고 OAuth 리디렉션 URL 설정과 같은 ID 공급업체의 요건에 따라 구성을 완료합니다.
해당 로그인 방법에 대한 UI 흐름 구현 이메일 주소 및 비밀번호를 통한 로그인의 경우 사용자에게 이메일 주소와 비밀번호를 입력하도록 하는 흐름을 구현합니다. 전화번호 로그인의 경우 사용자에게 전화번호를 요청한 후 수신된 SMS 메시지의 코드를 입력하도록 안내하는 흐름을 만듭니다. 제휴 로그인의 경우 각 공급업체의 요건에 따라 흐름을 구현합니다.
Firebase Authentication SDK에 사용자의 사용자 인증 정보 전달 사용자의 이메일 주소와 비밀번호, 또는 제휴 ID 공급업체에서 받은 OAuth 토큰을 Firebase Authentication SDK에 전달합니다.

다음 단계

Firebase 프로젝트의 사용자에 대해 자세히 알아본 다음 지원하려는 플랫폼 및 로그인 공급업체의 시작 가이드를 확인하세요.

iOS+ Android Flutter Unity C++ Admin

어디서부터 시작해야 할지 막막하신가요?

시작하는 방법 알아보기