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에서 다음을 수행합니다.
사용자의 기기와 이동통신사가 지원되는지 확인합니다.
사용자로부터 앱과 전화번호를 공유하는 데 대한 동의를 받습니다.
SIM에 할당된 모바일 이동통신사와 함께 작동하여 인증된 전화번호를 가져옵니다.
확인된 전화번호가 포함된 서명된 토큰을 사용자 동의 후 일반적으로 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 시작하기 가이드를 참고하세요.