Vue3, Firebase 프로젝트 - 채팅앱 VSignal

13. Firebase Authentication의 각 기능들

그랜파 개발자 2025. 4. 20. 02:52

Firebase Authentication의 각 기능들

Firebase Authentication은 사용자의 인증(Authentication) 과정을 간편하게 처리할 수 있게 해주는 백엔드 서비스입니다.

다양한 인증 방법을 지원하고, 보안도 잘 갖추고 있어서 빠르게 앱에 로그인/회원가입 기능을 붙일 수 있습니다.

아래에 Firebase Authentication의 주요 기능들을 설명해드릴게요:

🔐 1. 이메일/비밀번호 인증 (Email/Password Authentication)

  • 사용자가 이메일과 비밀번호로 회원가입/로그인할 수 있도록 해주는 가장 기본적인 방식입니다.
  • createUserWithEmailAndPassword(), signInWithEmailAndPassword() 등의 메서드로 구현합니다.
  • 이메일 인증 기능도 제공됩니다 (sendEmailVerification()).

📱 2. 소셜 로그인 (OAuth Provider Sign-In)

Firebase는 다양한 소셜 로그인 제공자를 기본적으로 지원합니다:

  • Google
  • Facebook
  • Twitter
  • Apple
  • GitHub
  • Microsoft, Yahoo 등

각 소셜 로그인은 Firebase 콘솔에서 활성화한 후, 해당 제공자의 앱 등록/설정이 필요합니다.

📞 3. 전화번호 인증 (Phone Number Authentication)

  • 사용자의 휴대폰 번호로 인증할 수 있는 기능입니다.
  • 인증 코드를 문자로 전송하고, 입력한 코드로 로그인합니다.
  • 리캡차(Recaptcha) 기반 보안 절차도 자동으로 포함되어 있습니다.

🆓 4. 익명 인증 (Anonymous Authentication)

  • 회원가입 없이 일단 앱을 사용하게 하고 싶을 때 유용합니다.
  • 사용자가 나중에 정식으로 로그인하면 익명 계정을 기존 계정에 연결(link) 할 수도 있습니다.

🧩 5. 커스텀 인증 시스템 (Custom Authentication System)

  • 기존에 자체 로그인 시스템이 있거나 특별한 인증 방식이 필요할 때 사용합니다.
  • 서버에서 JWT 형식의 Custom Token을 만들어 Firebase에 전달하여 인증을 처리합니다.
  • 고급 사용자 인증 통합에 적합합니다.

✅ 6. 유저 관리 기능

Firebase Auth는 다양한 사용자 관리 기능도 제공합니다:
- 사용자 생성, 삭제, 비밀번호 변경
- 이메일 인증 상태 확인
- 사용자 메타데이터 (가입일, 마지막 로그인 등) 확인
- Firebase Admin SDK를 통해 서버에서 직접 사용자 정보 관리 가능

🛠 7. 보안과 통합 기능

  • Firebase Security Rules와 연계되어 인증된 사용자만 DB나 Storage에 접근하도록 제어할 수 있습니다.
  • Firebase의 다른 서비스 (Firestore, Realtime DB, Storage 등)와 자동 통합됩니다.

💌 8. 비밀번호 재설정 이메일 발송

  • 사용자가 비밀번호를 잊었을 때, 이메일로 비밀번호 재설정 링크를 보낼 수 있습니다.
  • sendPasswordResetEmail() 메서드를 사용합니다.