Flutter 에서 Firebase 를 활용해서 각종 SNS 로그인 기능을 구현에 관심있는 사람들을 위해서 만든 SNS 로그인 시리즈 입니다. 이번 포스팅에서는 애플 로그인을 구현하는 방법을 알려드릴려고 합니다.
iOS 앱에서 SNS 를 활용해서 로그인 기능을 만들경우 Apple 의 정책상 Apple Sign in 기능이 필수 이기에 반드시 필요한 기능입니다.
위의 설명처럼 SNS login 기능을 넣을 경우, Apple Sign in 을 제공하지 않으면 심사를 통과할 수 없습니다.
그럼, 애플 로그인 기능을 만들어봅시다!!!
1. Firebase 인증 + 애플 로그인 기능을 만들기 위한 사전 완료 작업
- Firebase 프로젝트 생성 및 설정
- Apple Developer 계정 (유료 / 2024.12.31 기준 - 129,000원)
- flutterfire configure 명령어를 입력해서 나의 Flutter 앱과 Firebase 연동
2. 필요한 플러그인 패키지 설치
3. Firebase Console 에서 Apple 로그인 기능 활성화
Fireabse Console -> 나의 프로젝트 -> 빌드 -> Authentication -> 로그인 방법 -> 새 제공업체 추가
새 제공업체 추가 하고 Apple 선택
Apple 사용 설정 활성화 하고 저장
4. Apple Developer 설정
Apple ID 생성하기
Apple Developer -> Identifiers
- Identifiers + 버튼을 눌러서 생성하기
- App IDs 선택하기
- App 선택하기
- Description, Bundle ID 작성하고 Sign In with Apple 선택하기
5. XCode 설정
Runner -> TARGETS Runner -> Signing & Capablities
+ Capability 버튼 눌러서 Sign in with Apple 추가
6. Flutter 코드 추가
class _LoginPageState extends State<LoginPage> {
FirebaseAuth firebaseAuth = FirebaseAuth.instance;
@override
Widget build(BuildContext context) {
...
}
void appleLogin() async {
// Apple 로그인 구현
final credential = await SignInWithApple.getAppleIDCredential(
scopes: [
AppleIDAuthorizationScopes.email,
AppleIDAuthorizationScopes.fullName,
],
);
// Firebase 인증 작업
final oauthCredential = OAuthProvider("apple.com").credential(
idToken: credential.identityToken,
accessToken: credential.authorizationCode,
);
// Firebase 로그인
await firebaseAuth.signInWithCredential(oauthCredential);
}
}
반응형
'Dev > Flutter' 카테고리의 다른 글
[Flutter] Firebase + Kakao Login 로그인 기능 만들기 (2) | 2024.12.26 |
---|---|
[Flutter] Riverpod 사용해보기 -강의- (1) | 2024.12.08 |
[Flutter] Json 데이터를 객체로 변환하는 방법 (0) | 2024.12.03 |
함수형 위젯 vs 클래스형 위젯, 어떻게 하는게 좋을까? (2) | 2024.12.02 |
[Flutter] 버튼 Radius 주는 방법은 Style 로!!! (0) | 2024.11.18 |