반응형
파이어베이스는 다양한 기능을 제공하는 강력한 백엔드 서비스 플랫폼입니다.
앱에 로그인 기능을 추가하고 싶다면, 파이어베이스 인증을 사용하는 것이 가장 간편합니다.
또한, 'local_auth' 플러그인을 활용하여 생체 인증 기능을 추가하여 사용자 경험을 한 단계 더 향상시킬 수 있습니다.
1. 프로젝트 설정
- 파이어베이스 콘솔에 이동하여 새로운 프로젝트를 생성하거나 기존 프로젝트를 선택합니다.
- 좌측 메뉴에서 인증을 선택합니다.
- 로그인 방법 탭에서 이메일/비밀번호를 활성화합니다.
2. 로컬 인증 플러그인 설치
flutter pub add local_auth
3. 기기에서 생체 인증 사용 가능 여부 확인
import 'package:local_auth/local_auth.dart';
Future<bool> hasBiometricSupport() async {
final localAuth = LocalAuth();
return await localAuth.hasBiometricSupport();
}
4. 사용 가능한 생체 인증 유형 확인
Future<List<BiometricType>> getAvailableBiometrics() async {
final localAuth = LocalAuth();
return await localAuth.getAvailableBiometrics();
}
5. 생체 인증 로그인 구현
import 'package:firebase_auth/firebase_auth.dart';
Future<void> signInWithBiometrics() async {
final localAuth = LocalAuth();
final FirebaseAuth firebaseAuth = FirebaseAuth.instance;
final hasBiometric = await hasBiometricSupport();
if (!hasBiometric) {
return; // 기기가 생체 인증을 지원하지 않음
}
final availableBiometrics = await getAvailableBiometrics();
final biometricType = availableBiometrics.first; // 사용 가능한 첫 번째 생체 인증 유형 선택
final authentication = await localAuth.authenticate(
localizedDescription: '앱에 로그인 하려면 생체 인증을 사용하세요.',
options: AuthorizedBiometricOptions(
localizedCancelDescription: '취소',
biometricLockoutTitle: '생체 인증 실패',
biometricLockoutDescription: '너무 많은 시도로 인해 잠금되었습니다. 잠시 후 다시 시도하십시오.',
androidKeyguardOnly: false,
stickyAuth: false),
biometrics: [biometricType]);
if (!authentication.success) {
return; // 생체 인증 실패
}
// Firebase 인증에 생체 인증 결과 사용
final userCredential = await firebaseAuth.signInWithCredential(
AuthCredential.fromECProvider(
providerId: 'biometric',
token: authentication.credential.token));
// 로그인 성공 처리
}
6. 로그인 화면에 생체 인증 버튼 추가
ElevatedButton(
onPressed: signInWithBiometrics,
child: Text('생체 인증으로 로그인'),
),
참고
- 위 코드는 예시이며, 실제 사용 시에는 상황에 맞게 코드를 수정해야 할 수 있습니다.
- local_auth 플러그인은 안드로이드 6.0 이상, iOS 10 이상에서만 사용 가능합니다.
- 생체 인증은 사용자의 기기에 따라 다르게 작동할 수 있습니다.
- 파이어베이스 인증과 관련된 자세한 내용은 https://console.firebase.google.com/ 를 참고하세요.
이 블로그 게시물이 파이어베이스 로그인과 생체 인증을 연동하는 데 도움이 되었기를 바랍니다. 궁금한 점이 있으면 언제든지 질문해주세요.
수발가족을 위한 일기장 “나비일기장”
https://play.google.com/store/apps/details?id=com.maccrey.navi_diary_release
구글플레이 앱 배포의 시작! 비공개테스트 20명의 테스터모집을 위한 앱 "테스터 쉐어"
https://play.google.com/store/apps/details?id=com.maccrey.tester_share_release
카카오톡 오픈 채팅방
https://open.kakao.com/o/gsS8Jbzg
반응형
'Flutter > Flutter Programming' 카테고리의 다른 글
Fast Campus Flutter(15개 프로젝트로 실무까지 끝내는 Dart&Flutter 앱 개발) 온라인 강의를 추천합니다. (0) | 2024.06.23 |
---|---|
Flutter에서 상속과 믹싱: 객체 지향 프로그래밍의 핵심 (0) | 2024.06.21 |
플러터에서 생체 인증 구현 방법 (0) | 2024.06.20 |
플러터 게시판에서 멀티이미지 업데이트 구현하기: 심층 가이드 (0) | 2024.06.20 |
파이어베이스 스토리지 이미지 URL 파싱 하기[자세한 코드 설명] (0) | 2024.06.20 |