Firebase 전화번호 인증

Firebase Phone Number Verification (Firebase PNV)은 사용자 전화번호를 빠르고 안전하게 인증하는 방법입니다. 사용자가 문자 메시지에서 코드를 수신하고 입력해야 하는 SMS 기반 인증과 달리 Firebase PNV는 한 번의 탭으로 연결된 이동통신사에서 기기의 SIM 전화번호를 직접 가져와 작동합니다. 이렇게 하면 사용자의 불편이 줄어들고, SMS 메시지 전송에 의존하지 않아 안정성이 향상되며, SMS 사용 시 흔히 악용되는 악용 벡터가 제거됩니다.

주요 기능

운송업체가 정보 소스임 Firebase PNV를 사용하면 Google에서 이동통신사로부터 인증된 SIM 전화번호를 직접 가져와 현재 앱을 실행 중인 기기에 어떤 번호가 있는지 알려줍니다. SMS OTP는 사용자가 전화번호에 액세스할 수 있는지 여부만 알려줄 수 있습니다.
단독으로 사용하거나 ID 공급업체와 함께 사용 Firebase PNV는 통합하기 쉽고 안정적인 전화번호 인증 방법으로 단독으로 사용할 수도 있고, Firebase Authentication 또는 자체 인증 시스템과 함께 로그인 방법으로 사용할 수도 있습니다.
사용 가능한 운송업체 자동 사용 Firebase PNV SDK를 사용하여 호환성을 감지하고 기기에서 Firebase PNV가 아직 지원되지 않는 경우 SMS와 같은 다른 방법으로 대체할 수 있습니다. Firebase PNV은 전 세계 운송업체에 점진적으로 제공될 예정입니다. 새 이동통신사가 지원되면 앱을 추가로 변경하지 않고도 자동으로 사용할 수 있습니다. 참여 이동통신사 목록은 이동통신사 지원을 참고하세요.
SMS 피싱 공격 제거 Firebase PNV는 전화번호를 확인하기 위해 SMS 메시지를 전송하지 않으므로 사용자는 계정 도용 공격에 사용될 수 있는 일회성 비밀번호가 포함된 앱의 메시지를 예상하지 않습니다.

작동 원리

전화번호 인증을 요청하면 Firebase PNV에서 다음을 수행합니다.

  1. 사용자의 기기와 이동통신사가 지원되는지 확인합니다.

  2. 사용자로부터 앱과 전화번호를 공유하는 데 대한 동의를 받습니다.

  3. SIM에 할당된 모바일 이동통신사와 함께 작동하여 인증된 전화번호를 가져옵니다.

  4. 확인된 전화번호가 포함된 서명된 토큰을 사용자 동의 후 일반적으로 1~3초 내에 앱에 반환합니다.

이 토큰의 서명을 확인한 후 앱에는 이제 사용자의 인증된 전화번호가 있습니다. Firebase Authentication 또는 자체 인증 백엔드를 사용하는 등 전화번호 기반 로그인 흐름의 일부로 이 토큰을 사용할 수도 있습니다.

구현 경로

Firebase 프로젝트 설정 Firebase 콘솔에서 온보딩 단계를 완료하여 Firebase 프로젝트에 결제 및 Firebase Phone Number Verification API를 사용 설정합니다.
SDK 설치 및 초기화 앱의 플랫폼에 맞는 Firebase PNV SDK를 설치합니다. SDK에서는 OAuth 브랜드 인증이 완료되어야 합니다.
설명 화면 디자인 (권장) 공식 사용자 동의 UI를 트리거하기 전에 번호를 가져올 SIM을 선택해야 하며 이것이 SMS OTP보다 빠르고 안전하다고 설명합니다. 이렇게 하면 혼란을 줄이고 사용자에게 새로운 전화번호 인증 흐름을 교육할 수 있습니다.
기기 및 이동통신사 호환성 확인 (권장) 앱이 실행되면 Firebase PNV SDK를 사용하여 기기와 모바일 이동통신사가 Firebase PNV와 호환되는지 확인합니다. 호환되는 경우 설명 화면을 표시하고 동의를 요청합니다. 아니라면 SMS와 같은 기존 전화번호 인증 방법을 사용하세요.
인증된 전화번호 요청 Firebase PNV SDK를 사용하여 이동통신사에서 기기의 인증된 전화번호를 요청합니다. 이렇게 하면 사용자 동의가 트리거되며, 설명 화면을 통해 사용자가 동의를 완료할 수 있습니다.
응답 토큰 확인 Firebase PNV 서비스의 응답에서 서명된 토큰을 가져와 앱의 백엔드로 전송할 수 있습니다. 백엔드에서 토큰의 서명을 확인합니다. 서명이 유효하면 토큰에 기기의 인증된 전화번호가 포함됩니다.

다음 단계

  • Firebase PNV은 인증당 비용이 청구되는 서비스입니다. 자세한 내용은 가격 책정 페이지를 참고하세요.
  • Android 앱에서 Firebase PNV를 사용하는 방법을 알아보려면 Android 시작하기 가이드를 참고하세요.