타이싸란님의 블로그 글을 참고해서 구현했습니다.
https://100sucoding.tistory.com/44
플러터(flutter) 파이어베이스 Auth 로 휴대폰(SMS) 본인인증 무료로 간단히 하기(꼼수)
초기 발행 : 2021년 6월 실습 환경 : 맥북 / BigSur / Intel 앱 회원가입 부분 중에 특히나 휴대폰 인증이 필요한 앱이 있죠. 가령 쇼핑 앱 같은 거요. 그럴 때 휴대폰 인증 코드를 보내고 그걸 받아
100sucoding.tistory.com
1편은 초기설정 글입니다.
상세 로직은 2편에서 보실 수 있습니다.
SMS 인증을 구현할 일이 생겨서 Firebase Auth를 활용해 간단히 진행해보기로 했다.
Flutter와 Firebase를 연동하고, 나아가 Auth를 활용하기 위해서는 몇가지 설정이 필요하다.
Android: SHA1, SHA-256 인증키 준비, GoogleService.json
iOS: APNs 설정 준비, GoogleService-Info.plist
Android 설정하기
디버그 서명 인증서를 찾아서 입력하면 된다.
C:\Users\[user-name]\.android 의 경로로 이동 후 디버그 서명 인증서를 만든다.
cd C:\Users\[user-name]\.android
keytool -list -v -keystore debug.keystore
위의 명령어를 실행하면 키 저장소 비밀번호를 입력하라고 한다.
초기 비밀번호 값은 "android"
비밀번호를 입력하면 SHA-1 key(필수)와 SHA-256 key(선택)둘 다 확인할 수 있다.
이 값을 Firebase 설정에 그대로 복붙해주면 된다. 만약 SHA-1만 추가한다면, 실제 디바이스에서 reCAPTCHA 웹 화면으로 한 번 이동했다가 돌아온 후 SMS 코드를 전송해주기 때문에 이 화면 이동 자체를 막으려면 SHA-256도 추가해주는 게 좋다.
그리고 Google Cloud Console에서 Android Device Verification API를 사용 설정해주면 된다.
이러면 깔끔하게 SMS 코드만 온다.
만약 플레이스토어에 앱을 등록할 예정이라면, 플레이스토어에 번들 등록 시 생성되는 서명인증서도 함께 등록해주어야 한다.
iOS 설정하기
iOS 역시 인증코드 전송, reCAPTCHA에 필요한 세팅을 해주어야 한다.
인증코드 전송 -> 메시지 푸시 알림 필요 -> APNs 세팅
reCAPTCHA -> 웹에서 앱으로 리다이렉팅 -> URL Custom Scheme 필요
위의 두가지 세팅이 필요하다.
APNs의 경우 Firebase 가이드만으로는 좀 어려워서
https://spiralmoon.tistory.com/m/entry/Apple-Apple-push-notification-service-APNs-설정하기
[Apple] Apple push notification service (APNs) 설정하기
Apple push notification service (APNs) key 설정하기 iOS 앱으로 푸시 알림을 보낼 수 있도록 APNs 인증서와 키를 발급해보자. APNs란? APNs는 Apple push notification service의 줄임말로, iOS에 표시되는 푸..
spiralmoon.tistory.com
spiralmoon님 글을 참고해서 설정함
URL Schemes 설정은 기본 제공 가이드 기준으로 설정함
https://firebase.google.com/docs/auth/ios/phone-auth
iOS에서 전화번호로 Firebase에 인증 | Firebase Documentation
Join Firebase at Google I/O online May 11-12, 2022. Register now 의견 보내기 iOS에서 전화번호로 Firebase에 인증 Firebase 인증을 사용하면 사용자의 전화로 SMS 메시지를 전송하여 로그인하는 것이 가능합니다. 사
firebase.google.com
이러면 설정이 끝난다.
다음은 코드 내용 설명을 적어보겠음
'Flutter' 카테고리의 다른 글
[Flutter] 상태 관리 하기 (2) | 2022.08.28 |
---|---|
Future 다루기 (0) | 2022.05.29 |
[Flutter] Firebase Auth SMS 연동하기 - 2 (0) | 2022.04.26 |