Flutter에서 Back4App의 Parse를 사용한 타사 인증 완벽 가이드
Facebook, Google, Apple과 같은 서드파티 인증 방법을 Flutter 앱에 통합하면 유연하고 편리한 로그인 옵션을 제공하여 사용자 경험을 크게 향상시킬 수 있습니다. Back4App에서 제공하는 Parse Server는 이러한 인증 제공자를 위한 기본 지원을 제공합니다. 이 튜토리얼에서는 Back4App의 Parse SDK를 사용하여 Flutter 앱에서 서드파티 인증을 구현하는 방법을 배웁니다.
이 튜토리얼이 끝나면 다음을 포함한 완전한 기능의 회원가입 및 로그인 기능이 있는 Flutter 앱을 갖게 됩니다:
- Parse를 사용한 표준 이메일/비밀번호 인증.
- 서드파티 인증 방법:
- Facebook
- Google
- Apple
이 튜토리얼을 따라 하려면 다음이 필요합니다:
- Facebook, Google, Apple에 대한 개발자 계정 (서드파티 로그인 방법 설정에 필요).
- Visual Studio Code 또는 Android Studio와 같은 IDE 또는 텍스트 편집기
- "새 앱 만들기"를 클릭하세요.
- 애플리케이션 이름을 입력하세요, 예: "AuthDemo", 그리고 "생성"을 클릭하세요.
- 프로젝트가 생성되면, 앱 설정 > 보안 및 키로 이동하세요.
- 당신의 애플리케이션 ID와 클라이언트 키를 적어두세요. 이 값들은 Flutter 앱에서 Parse를 초기화하는 데 필요합니다.
- Back4App 대시보드에서 서버 설정 > 인증로 이동하세요.
- 사용할 인증 방법을 활성화하세요:
- 페이스북
- 구글
- 애플
- 각 제공자에 대해 특정 자격 증명(App ID, Client ID, Secret 등)을 입력해야 하며, 이는 다음 단계에서 설정됩니다.
터미널을 열고 새로운 Flutter 프로젝트를 만드세요:
pubspec.yaml을 열고 Parse 및 서드파티 로그인 옵션에 대한 다음 의존성을 추가하세요:
flutter pub get을 실행하여 의존성을 설치하세요.
lib/main.dart 파일에서 Parse SDK를 가져오고 main 함수에서 초기화하세요:
- 'YOUR_APP_ID' 및 'YOUR_CLIENT_KEY'를 실제 Back4App 자격 증명으로 교체하세요.
새 디렉토리를 생성합니다 services 아래에 lib 그리고 auth_service.dart. 이 서비스는 Parse를 사용하여 사용자 등록 및 로그인을 처리합니다.
새 디렉토리를 생성합니다 screens 아래에 lib 그리고 auth_screen.dart. 이 화면은 표준 인증을 위한 UI를 제공합니다.
- Facebook 앱 만들기:
- 클릭하세요 "내 앱" 그리고 "앱 만들기".
- 선택하십시오 "소비자" 앱 유형으로 선택하고 클릭하십시오 "다음".
- 다음을 입력하세요: 앱 이름 및 연락 이메일, 그런 다음 "앱 만들기"를 클릭하세요.
- 앱에 Facebook 로그인 추가하기:
- 앱 대시보드에서 다음으로 이동하십시오: "제품 추가"를 선택하고 "Facebook 로그인"을 선택하십시오.
- 선택하십시오 "안드로이드" 및/또는 "iOS" 귀하의 대상 플랫폼에 따라.
- Facebook에서 제공하는 설정 단계를 따르세요. 앱의 Bundle Identifier가 필요합니다 iOS와 Package Name이 필요합니다 Android.
- OAuth 리디렉션 URI 구성하기:
- 설정하십시오 OAuth 리디렉션 URI 에: https://parseapi.back4app.com/auth/facebook/callback
- 앱 ID 및 앱 비밀 얻기:
- 앱 대시보드에서, "설정" > "기본".
- 다음 내용을 기록하세요: 앱 ID 및 앱 비밀.
- Back4App에 앱 ID와 비밀 키 추가하기:
- Back4App 대시보드에서 다음으로 이동합니다.서버 설정 > 인증.
- 아래에서 Facebook, 앱 ID와 앱 비밀을 입력하세요.
다음 코드를 추가하여 Facebook 인증을 처리하세요:
다음 버튼을 UI에 추가하세요:
- 다음 파일을 업데이트하세요: android/app/src/main/AndroidManifest.xml:
- 다음 파일에 페이스북 앱 ID를 추가하세요: android/app/src/main/res/values/strings.xml:
- 다음 파일을 업데이트하세요: Info.plist 파일:
- Google Cloud Console에서 프로젝트 만들기:
- OAuth 동의 화면 구성:
- 이동하여 API 및 서비스 > OAuth 동의 화면.
- 필요한 범위로 동의 화면을 설정하세요.
- OAuth 클라이언트 ID 만들기:
- 이동하여 자격 증명 > 자격 증명 만들기 > OAuth 클라이언트 ID.
- 웹 애플리케이션을 선택하세요.
- 허용된 리디렉션 URI: https://parseapi.back4app.com/auth/google/callback
- 클라이언트 ID와 클라이언트 비밀을 기록해 두세요.
- 클라이언트 ID와 비밀을 Back4App에 추가하기:
- Back4App 대시보드에서 서버 설정 > 인증, Google의 클라이언트 ID와 클라이언트 비밀을 입력하세요.
다음 코드를 추가하여 Google 인증을 처리하세요:
다음 버튼을 UI에 추가하세요:
- 다음 내용을 android/app/build.gradle 파일에 추가하세요:
- 당신의 Google 클라이언트 ID를 android/app/src/main/res/values/strings.xml:
- 당신의 android/app/src/main/AndroidManifest.xml:
- 역전된 클라이언트 ID를 당신의 Info.plist:
- 앱 등록하기:
- 애플로 로그인 활성화하기:
- 아래에서 식별자, 앱을 선택하고 애플로 로그인을 활성화하십시오.
- 서비스 ID 생성하기:
- 앱을 위한 서비스 ID를 생성하십시오.
- 리디렉션 URI를 다음으로 설정하십시오: https://parseapi.back4app.com/auth/apple/callback
- 클라이언트 비밀 생성하기:
- 애플로 로그인 개인 키를 생성하십시오.
- 이 키를 사용하여 클라이언트 비밀을 생성하십시오.
- Back4App에 자격 증명 추가하기:
- Back4App 대시보드에서 서버 설정 > 인증, 애플을 위한 서비스 ID 및 클라이언트 비밀을 입력하십시오.
Apple 인증을 처리하기 위해 다음 코드를 추가하세요:
다음 버튼을 UI에 추가하세요:
- Xcode에서 프로젝트를 열고 Signing & Capabilities로 이동하세요.
- "+ Capability"를 클릭하고 "Sign in with Apple"을 추가하세요.
- 당신의 Bundle Identifier가 Apple Developer Portal에 등록된 것과 일치하는지 확인하세요.
모든 인증 방법을 설정했으므로, 앱을 실행하고 각 로그인 옵션을 테스트할 수 있습니다.
- iOS의 경우, 애플으로 로그인 테스트를 위해 실제 기기에서 앱을 실행해야 합니다.
- Android의 경우, 에뮬레이터나 물리적 장치를 사용할 수 있습니다.
- 사용자 이름, 이메일 및 비밀번호를 입력하세요.
- 새 사용자를 만들기 위해 "가입하기"를 탭하세요.
- 생성된 자격 증명으로 로그인하기 위해 "로그인"을 탭하세요.
- 탭 "Facebook으로 로그인".
- Facebook 로그인 화면이 나타납니다.
- Facebook 자격 증명으로 로그인합니다.
- 탭 "Google로 로그인".
- Google 로그인 화면이 나타납니다.
- Google 계정으로 로그인합니다.
- 탭 "Apple로 로그인".
- Apple 로그인 프롬프트가 나타납니다.
- Apple ID를 사용하여 인증합니다.
이 튜토리얼에서는 표준 이메일/비밀번호 인증을 성공적으로 구현하고 Parse SDK를 사용하여 Flutter 앱에 Facebook, Google 및 Apple과 같은 타사 인증 방법을 통합했습니다. 이 설정은 여러 편리한 로그인 옵션을 제공하여 사용자 경험을 향상시킵니다.
- 사용자 프로필: 사용자가 자신의 정보를 업데이트할 수 있도록 앱을 확장합니다.
- 로그아웃 기능: 각 인증 방법에 대한 로그아웃 기능을 구현합니다.
- 데이터 보안: Parse ACL 및 역할을 사용하여 역할 기반 액세스 제어를 구현하여 데이터를 보호합니다.
- 오류 처리: 사용자에게 더 자세한 피드백을 제공하기 위해 오류 처리를 개선합니다.
- UI 개선: 앱의 브랜딩에 맞게 UI를 사용자 정의하고 사용자 경험을 개선합니다.
행복한 코딩 되세요!