Panduan Lengkap untuk Autentikasi Pihak Ketiga di Flutter dengan Parse di Back4App
Mengintegrasikan metode otentikasi pihak ketiga seperti Facebook, Google, dan Apple ke dalam aplikasi Flutter Anda dapat secara signifikan meningkatkan pengalaman pengguna dengan menyediakan opsi login yang fleksibel dan nyaman. Parse Server, yang didukung oleh Back4App, menawarkan dukungan bawaan untuk penyedia otentikasi ini. Dalam tutorial ini, Anda akan belajar bagaimana mengimplementasikan otentikasi pihak ketiga dalam aplikasi Flutter Anda menggunakan Parse SDK di Back4App.
Pada akhir tutorial ini, Anda akan memiliki aplikasi Flutter dengan fitur pendaftaran dan login yang sepenuhnya berfungsi yang mencakup:
- Otentikasi email/kata sandi standar menggunakan Parse.
- Metode otentikasi pihak ketiga:
- Facebook
- Google
- Apple
Untuk mengikuti tutorial ini, Anda memerlukan hal-hal berikut:
- Sebuah lingkungan pengembangan Flutter yang terpasang di mesin Anda. Ikuti panduan ini jika Anda memerlukan bantuan untuk mengatur Flutter.
- Akun pengembang untuk Facebook, Google, dan Apple (diperlukan untuk mengatur metode login pihak ketiga).
- Sebuah IDE atau editor teks seperti Visual Studio Code atau Android Studio.
- Klik pada "Buat aplikasi baru".
- Masukkan nama untuk aplikasi Anda, misalnya, "AuthDemo", dan klik "Buat".
- Setelah proyek dibuat, navigasikan ke Pengaturan Aplikasi > Keamanan & Kunci.
- Catat ID Aplikasi dan Kunci Klien. Anda akan memerlukan nilai ini untuk menginisialisasi Parse di aplikasi Flutter Anda.
- Di dasbor Back4App Anda, navigasikan ke Pengaturan Server > Autentikasi.
- Aktifkan metode autentikasi yang ingin Anda gunakan:
- Facebook
- Google
- Apple
- Untuk setiap penyedia, Anda perlu memasukkan kredensial spesifik (ID Aplikasi, ID Klien, Rahasia, dll.), yang akan diatur di langkah-langkah berikutnya.
Buka terminal Anda dan buat proyek Flutter baru:
Buka pubspec.yaml dan tambahkan dependensi berikut untuk Parse dan opsi masuk pihak ketiga:
Jalankan flutter pub get untuk menginstal dependensi.
Di file lib/main.dart , impor SDK Parse dan inisialisasi di fungsi main :
- Ganti 'YOUR_APP_ID' dan 'YOUR_CLIENT_KEY' dengan kredensial Back4App Anda yang sebenarnya dari Langkah 1.
Buat direktori baru bernama services di bawah lib dan tambahkan file bernama auth_service.dart. Layanan ini akan menangani pendaftaran dan login pengguna menggunakan Parse.
Buat direktori baru bernama screens di bawah lib dan tambahkan file bernama auth_screen.dart. Layar ini akan menyediakan UI untuk autentikasi standar.
- Buat Aplikasi Facebook:
- Klik pada "Aplikasi Saya" dan kemudian "Buat Aplikasi".
- Pilih "Konsumen" sebagai jenis aplikasi dan klik "Berikutnya".
- Isi Nama Aplikasi dan Email Kontak, lalu klik "Buat Aplikasi".
- Tambahkan Login Facebook ke Aplikasi Anda:
- Di dasbor aplikasi Anda, navigasikan ke "Tambahkan Produk" dan pilih "Login Facebook".
- Pilih "Android" dan/atau "iOS" tergantung pada platform target Anda.
- Ikuti langkah-langkah pengaturan yang diberikan oleh Facebook. Anda akan memerlukan Bundle Identifier aplikasi Anda untuk iOS dan Package Name untuk Android.
- Konfigurasi URI Pengalihan OAuth:
- Atur OAuth Redirect URI ke: https://parseapi.back4app.com/auth/facebook/callback
- Dapatkan ID Aplikasi dan Rahasia Aplikasi:
- Di dasbor aplikasi Anda, pergi ke "Pengaturan" > "Dasar".
- Catat App ID dan App Secret.
- Tambahkan App ID dan Secret ke Back4App:
- Di dasbor Back4App, navigasikan ke Pengaturan Server > Autentikasi.
- Di bawah Facebook, masukkan ID Aplikasi dan Kunci Aplikasi.
Tambahkan kode berikut untuk menangani otentikasi Facebook:
Tambahkan tombol berikut ke UI Anda:
- Perbarui android/app/src/main/AndroidManifest.xml:
- Tambahkan ID Aplikasi Facebook Anda ke android/app/src/main/res/values/strings.xml:
- Perbarui Info.plist file:
- Buat Proyek di Google Cloud Console:
- Konfigurasi Layar Persetujuan OAuth:
- Navigasi ke API & Layanan > layar persetujuan OAuth.
- Atur layar persetujuan dengan ruang lingkup yang diperlukan.
- Buat ID Klien OAuth:
- Kunjungi Kredensial > Buat Kredensial > ID Klien OAuth.
- Pilih Aplikasi web.
- Tambahkan URI pengalihan yang diizinkan: https://parseapi.back4app.com/auth/google/callback
- Catat ID Klien dan Rahasia Klien.
- Tambahkan ID Klien dan Rahasia ke Back4App:
- Di dasbor Back4App, di bawah Pengaturan Server > Autentikasi, masukkan ID Klien dan Rahasia Klien untuk Google.
Tambahkan kode berikut untuk menangani otentikasi Google:
Tambahkan tombol berikut ke UI Anda:
- Tambahkan yang berikut ke android/app/build.gradle file:
- Tambahkan ID Klien Google Anda ke android/app/src/main/res/values/strings.xml:
- Perbarui android/app/src/main/AndroidManifest.xml:
- Tambahkan ID klien yang dibalik ke Info.plist:
- Daftarkan Aplikasi Anda:
- Aktifkan Masuk dengan Apple:
- Di bawah Identifikasi, pilih aplikasi Anda dan aktifkan Masuk dengan Apple.
- Buat ID Layanan:
- Buat ID Layanan untuk aplikasi Anda.
- Atur URI Pengalihan ke: https://parseapi.back4app.com/auth/apple/callback
- Hasilkan Kunci Klien:
- Buat kunci pribadi Masuk dengan Apple.
- Gunakan kunci ini untuk menghasilkan Kunci Klien.
- Tambahkan Kredensial ke Back4App:
- Di dasbor Back4App, di bawah Pengaturan Server > Autentikasi, masukkan ID Layanan dan Kunci Klien untuk Apple.
Tambahkan kode berikut untuk menangani otentikasi Apple:
Tambahkan tombol berikut ke UI Anda:
- Di Xcode, buka proyek Anda dan pergi ke Signing & Capabilities.
- Klik pada "+ Capability" dan tambahkan "Sign in with Apple".
- Pastikan bahwa Bundle Identifier Anda cocok dengan yang terdaftar di Apple Developer Portal.
Sekarang Anda telah mengatur semua metode otentikasi, Anda dapat menjalankan aplikasi Anda dan menguji setiap opsi login.
- Untuk iOS, Anda harus menjalankan aplikasi di perangkat nyata untuk menguji Sign in with Apple.
- Untuk Android, Anda dapat menggunakan emulator atau perangkat fisik.
- Masukkan nama pengguna, email, dan kata sandi.
- Ketuk "Daftar" untuk membuat pengguna baru.
- Ketuk "Login" untuk masuk dengan kredensial yang dibuat.
- Ketuk "Login dengan Facebook".
- Layar login Facebook akan muncul.
- Masuk dengan kredensial Facebook Anda.
- Ketuk "Login dengan Google".
- Layar masuk Google akan muncul.
- Masuk dengan akun Google Anda.
- Ketuk "Login dengan Apple".
- Prompt masuk Apple akan muncul.
- Autentikasi menggunakan Apple ID Anda.
Dalam tutorial ini, Anda berhasil menerapkan otentikasi email/kata sandi standar dan mengintegrasikan metode otentikasi pihak ketiga (Facebook, Google, dan Apple) ke dalam aplikasi Flutter Anda menggunakan Parse SDK di Back4App. Pengaturan ini meningkatkan pengalaman pengguna dengan menawarkan beberapa opsi login yang nyaman.
- Profil Pengguna: Kembangkan aplikasi untuk mengelola profil pengguna, memungkinkan pengguna untuk memperbarui informasi mereka.
- Fungsi Logout: Implementasikan fitur logout untuk setiap metode otentikasi.
- Keamanan Data: Amankan data Anda dengan menerapkan kontrol akses berbasis peran menggunakan ACL dan Roles Parse.
- Penanganan Kesalahan: Tingkatkan penanganan kesalahan untuk memberikan umpan balik yang lebih rinci kepada pengguna.
- Peningkatan UI: Sesuaikan UI agar sesuai dengan merek aplikasi Anda dan meningkatkan pengalaman pengguna.
Selamat Berkoding!