More

Panduan Lengkap untuk Autentikasi Pihak Ketiga di Flutter dengan Parse di Back4App

43min

Pendahuluan

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:

  1. Otentikasi email/kata sandi standar menggunakan Parse.
  2. Metode otentikasi pihak ketiga:
    • Facebook
    • Google
    • Apple

Prasyarat

Untuk mengikuti tutorial ini, Anda memerlukan hal-hal berikut:

  • Sebuah akun Back4App. Daftar untuk akun gratis di Back4App.
  • Sebuah lingkungan pengembangan Flutter yang terpasang di mesin Anda. Ikuti panduan ini jika Anda memerlukan bantuan untuk mengatur Flutter.
  • Pengetahuan dasar tentang Flutter dan Dart. Jika Anda baru, lihat pengantar 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.

Langkah 1 – Menyiapkan Backend Back4App

1.1. Buat Proyek Back4App

  1. Masuk ke dasbor Back4App.
  2. Klik pada "Buat aplikasi baru".
  3. Masukkan nama untuk aplikasi Anda, misalnya, "AuthDemo", dan klik "Buat".
  4. Setelah proyek dibuat, navigasikan ke Pengaturan Aplikasi > Keamanan & Kunci.
  5. Catat ID Aplikasi dan Kunci Klien. Anda akan memerlukan nilai ini untuk menginisialisasi Parse di aplikasi Flutter Anda.

1.2. Aktifkan Penyedia Autentikasi

  1. Di dasbor Back4App Anda, navigasikan ke Pengaturan Server > Autentikasi.
  2. Aktifkan metode autentikasi yang ingin Anda gunakan:
    • Facebook
    • Google
    • Apple
  3. Untuk setiap penyedia, Anda perlu memasukkan kredensial spesifik (ID Aplikasi, ID Klien, Rahasia, dll.), yang akan diatur di langkah-langkah berikutnya.

Langkah 2 – Menginstal dan Menyiapkan Parse SDK di Flutter

2.1. Buat Proyek Flutter Baru

Buka terminal Anda dan buat proyek Flutter baru:

Bash


2.2. Tambahkan Dependensi

Buka pubspec.yaml dan tambahkan dependensi berikut untuk Parse dan opsi masuk pihak ketiga:

YAML


Jalankan flutter pub get untuk menginstal dependensi.

2.3. Inisialisasi Parse di main.dart

Di file lib/main.dart , impor SDK Parse dan inisialisasi di fungsi main :

Dart

  • Ganti 'YOUR_APP_ID' dan 'YOUR_CLIENT_KEY' dengan kredensial Back4App Anda yang sebenarnya dari Langkah 1.

Langkah 3 – Mengimplementasikan Autentikasi Standar

3.1. Buat Layanan Autentikasi

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.

Dart


3.2. Buat Layar Autentikasi

Buat direktori baru bernama screens di bawah lib dan tambahkan file bernama auth_screen.dart. Layar ini akan menyediakan UI untuk autentikasi standar.

Dart


Langkah 4 – Mengintegrasikan Autentikasi Facebook

4.1. Siapkan Akun Pengembang Facebook

  1. Buat Aplikasi Facebook:
    • Pergi ke Facebook untuk Pengembang dan masuk.
    • 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".
  2. 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.
  3. Konfigurasi URI Pengalihan OAuth:
    • Atur OAuth Redirect URI ke: https://parseapi.back4app.com/auth/facebook/callback
  4. Dapatkan ID Aplikasi dan Rahasia Aplikasi:
    • Di dasbor aplikasi Anda, pergi ke "Pengaturan" > "Dasar".
    • Catat App ID dan App Secret.
  5. Tambahkan App ID dan Secret ke Back4App:
    • Di dasbor Back4App, navigasikan ke Pengaturan Server > Autentikasi.
    • Di bawah Facebook, masukkan ID Aplikasi dan Kunci Aplikasi.

4.2. Perbarui auth_service.dart dengan Facebook Login

Tambahkan kode berikut untuk menangani otentikasi Facebook:

Dart


4.3. Tambahkan Tombol Login Facebook ke auth_screen.dart

Tambahkan tombol berikut ke UI Anda:

Dart


4.4. Konfigurasi Spesifik Platform

Android

  • Perbarui android/app/src/main/AndroidManifest.xml:
XML

  • Tambahkan ID Aplikasi Facebook Anda ke android/app/src/main/res/values/strings.xml:
XML


iOS

  • Perbarui Info.plist file:
XML


Langkah 5 – Mengintegrasikan Autentikasi Google

5.1. Siapkan Akun Pengembang Google

  1. Buat Proyek di Google Cloud Console:
  2. Konfigurasi Layar Persetujuan OAuth:
    • Navigasi ke API & Layanan > layar persetujuan OAuth.
    • Atur layar persetujuan dengan ruang lingkup yang diperlukan.
  3. 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.
  4. Tambahkan ID Klien dan Rahasia ke Back4App:
    • Di dasbor Back4App, di bawah Pengaturan Server > Autentikasi, masukkan ID Klien dan Rahasia Klien untuk Google.

5.2. Perbarui auth_service.dart dengan Login Google

Tambahkan kode berikut untuk menangani otentikasi Google:

Dart


5.3. Tambahkan Tombol Login Google ke auth_screen.dart

Tambahkan tombol berikut ke UI Anda:

Dart


5.4. Konfigurasi Khusus Platform

Android

  • Tambahkan yang berikut ke android/app/build.gradle file:
Text

  • Tambahkan ID Klien Google Anda ke android/app/src/main/res/values/strings.xml:
XML

  • Perbarui android/app/src/main/AndroidManifest.xml:
XML


iOS

  • Tambahkan ID klien yang dibalik ke Info.plist:
XML


Langkah 6 – Mengintegrasikan Autentikasi Apple

6.1. Siapkan Akun Pengembang Apple

  1. Daftarkan Aplikasi Anda:
  2. Aktifkan Masuk dengan Apple:
    • Di bawah Identifikasi, pilih aplikasi Anda dan aktifkan Masuk dengan Apple.
  3. Buat ID Layanan:
    • Buat ID Layanan untuk aplikasi Anda.
    • Atur URI Pengalihan ke: https://parseapi.back4app.com/auth/apple/callback
  4. Hasilkan Kunci Klien:
    • Buat kunci pribadi Masuk dengan Apple.
    • Gunakan kunci ini untuk menghasilkan Kunci Klien.
  5. Tambahkan Kredensial ke Back4App:
    • Di dasbor Back4App, di bawah Pengaturan Server > Autentikasi, masukkan ID Layanan dan Kunci Klien untuk Apple.

6.2. Perbarui auth_service.dart dengan Masuk Apple

Tambahkan kode berikut untuk menangani otentikasi Apple:

Dart


6.3. Tambahkan Tombol Masuk Apple ke auth_screen.dart

Tambahkan tombol berikut ke UI Anda:

Dart


6.4. Konfigurasi Khusus Platform

Hanya iOS

  • 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.

Langkah 7 – Menguji Aplikasi Anda

Sekarang Anda telah mengatur semua metode otentikasi, Anda dapat menjalankan aplikasi Anda dan menguji setiap opsi login.

7.1. Jalankan Aplikasi

Bash

  • Untuk iOS, Anda harus menjalankan aplikasi di perangkat nyata untuk menguji Sign in with Apple.
  • Untuk Android, Anda dapat menggunakan emulator atau perangkat fisik.

7.2. Uji Otentikasi Standar

  • Masukkan nama pengguna, email, dan kata sandi.
  • Ketuk "Daftar" untuk membuat pengguna baru.
  • Ketuk "Login" untuk masuk dengan kredensial yang dibuat.

7.3. Uji Login Facebook

  • Ketuk "Login dengan Facebook".
  • Layar login Facebook akan muncul.
  • Masuk dengan kredensial Facebook Anda.

7.4. Uji Login Google

  • Ketuk "Login dengan Google".
  • Layar masuk Google akan muncul.
  • Masuk dengan akun Google Anda.

7.5. Uji Login Apple (Hanya iOS)

  • Ketuk "Login dengan Apple".
  • Prompt masuk Apple akan muncul.
  • Autentikasi menggunakan Apple ID Anda.

Kesimpulan

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.

Langkah Selanjutnya

  • 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.

Sumber Daya Tambahan

Selamat Berkoding!