Menggunakan Facebook Login dengan Sistem Masuk yang Ada

Anda mungkin ingin membuat aplikasi Anda dengan mekanisme masuk khusus dan Facebook Login. Panduan ini membahas beberapa skenario tersebut dan memberi Anda kiat untuk menangani pengalaman seseorang saat menggunakan aplikasi tersebut.

Sinopsis

Anda dapat menerapkan sistem masuk Anda sendiri sehingga seseorang mendaftar ke aplikasi menggunakan email dan kata sandinya dan akun dibuat untuknya. Biasanya, aplikasi menggunakan langkah verifikasi email dalam kasus ini untuk mengautentikasi identitas.

Atau, Anda dapat memilih menggunakan Facebook Login sepenuhnya untuk sistem masuknya. Dalam kasus ini, seseorang mendaftar ke aplikasi menggunakan Facebook Login, akun dibuat untuknya, dan langkah autentikasi ditangani oleh Facebook.

Di luar skenario tersebut, aplikasi Anda mungkin harus menangani situasi yang lebih kompleks:

  • Seseorang mendaftar ke aplikasi Anda menggunakan email dan kata sandinya, tetapi kemudian dia ingin menggunakan Facebook Login untuk mendapatkan data dari akun Facebooknya, untuk mengirim ke kronologinya atau hanya digunakan untuk masuk di masa mendatang.
  • Seseorang mendaftar ke aplikasi menggunakan email dan kata sandinya, tetapi kemudian memilih masuk dengan Facebook secara terpisah. Panduan ini berasumsi bahwa email yang diberikan pertama kali dan email utama yang terkait dengan akun Facebooknya itu sama.
  • Seseorang mendaftar aplikasi menggunakan Facebook Login dan kemudian ingin masuk ke akun ini menggunakan alamat email dan kata sandi.

Panduan ini memaparkan cara terbaik menurut kami untuk menangani situasi tersebut.

Menghubungkan Facebook Login dengan akun yang sudah masuk

Bagian ini membahas kasus seseorang yang menggunakan sistem masuk khusus aplikasi untuk membuat akun. Kemudian, saat dia masih masuk, dia ingin menghubungkan akun Facebooknya dengan aplikasi tersebut. Misalnya, orang-orang dapat mendaftar ke Spotify dengan alamat email dan kata sandi, tetapi kemudian mereka dapat memilih menghubungkan akun itu dengan akun Facebook mereka menggunakan Facebook Login, seperti saat mereka ingin menerbitkan aktivitas mendengarkan ke kronologi mereka.

1. Tambahkan alur Facebook Login ke aplikasi Anda

Baca panduan kami untuk menggunakan alur Facebook Login di aplikasi Anda untuk menyelesaikan langkah ini. Dalam contoh Spotify ini, Anda memulai alur Facebook Login ke titik di aplikasi ini di mana orang itu mengindikasikan dia ingin menerbitkan aktivitas mendengarkannya, atau Anda mungkin menawarkan opsi yang jelas untuk menautkan akunnya dengan akun Facebooknya.

2. Menangani informasi penggabungan akun

Setelah seseorang masuk ke aplikasi Anda dengan menggunakan sistem masuk Anda sendiri, lalu menyelesaikan alur Facebook Login, aplikasi Anda akan memiliki dua hal yang sangat penting yang sekarang harus digabungkan:

  • Akun yang dibuat oleh aplikasi
  • Informasi dari Facebook yang mengidentifikasi akun Facebook orang itu

Di sebagian besar aplikasi, akun asli akan disimpan di tabel database, jadi pendekatan paling sederhana adalah menghubungkan informasi akun Facebook dengan akun itu di database.

Umumnya, lebih baik membuat tabel baru sehingga Anda dapat menyimpan informasi akun Facebook orang tersebut. Keuntungan membuat tabel terpisah daripada menambahkan kolom baru ke tabel akun Anda yang ada adalah memudahkan Anda mendukung masuk akun OAuth lainnya dengan cepat seiring waktu.

Di masa mendatang, jika orang yang sama memilih masuk ke aplikasi Anda, maka Anda dapat mencocokkan informasi yang disimpan di database untuk memasukkannya menggunakan salah satu metode dengan lancar.

Menggabungkan akun yang dibuat secara terpisah dengan Facebook Login

Dalam situasi ini, seseorang masuk ke aplikasi Anda dengan kredensialnya sendiri seperti misalnya email dan kata sandi. Kemudian, saat orang itu keluar, dia memilih masuk ke aplikasi Anda menggunakan Facebook Login. Aplikasi Anda sekarang akan memiliki dua akun untuk orang yang sama, satu dibuat melalui sistem masuk aplikasi, satu lagi dibuat melalui alur Facebook Login. Agar menyediakan pengalaman terbaik untuk orang tersebut, aplikasi Anda harus berusaha menggabungkan akun tersebut menjadi satu.

Panduan ini berasumsi bahwa setiap akun yang dibuat oleh aplikasi Anda memiliki alamat email yang dihubungkan dengannya. Namun, mungkin saja orang tersebut menggunakan email yang berbeda untuk membuat akunnya yang ada, selain email yang dihubungkan dengan akun Facebooknya. Dalam kasus ini, Anda harus menawarkan orang-orang opsi 'Penggabungan Akun' yang jelas di tempat tertentu di aplikasi Anda, lalu mengizinkan orang tersebut menetapkan dua akun yang terpisah secara manual yang ingin digabungkan.
Selain itu, jika akun khusus Anda sendiri tidak menyimpan alamat email, maka Anda harus mengizinkan orang itu untuk menetapkan secara manual akun yang ingin digabungkan.

1. Mengubah alur Facebook Login Anda untuk meminta izin email

Jika sistem masuk khusus aplikasi Anda sendiri menggunakan alamat email untuk mengidentifikasi setiap akun secara unik, Anda juga harus meminta alamat email orang tersebut (menggunakan izin email) selama alur Facebook Login. Baca panduan kami untuk meminta izin guna mencari tahu cara melakukan ini.

2. Menggabungkan akun Facebook Login dan akun aplikasi

Setelah berhasil masuk menggunakan Facebook, Anda akan memiliki alamat email, ID Facebook, dan token akses orang tersebut. Aplikasi Anda harus mencari akun yang ada yang sudah dibuat dengan alamat email yang sama. Jika memang ada, Anda harus menggabungkan dua akun dan menambahkan info Facebook ke akun yang ada - sesuai rekomendasi di atas.

Di posisi ini, Anda harus memasukkan orang itu seperti biasanya.

Jika tidak ada entri yang ada di database Anda dengan alamat email itu, maka Anda harus menganggapnya sebagai pengguna baru.

Menambahkan info masuk secara manual ke akun yang dibuat Facebook Login

Situasi ini terjadi saat seseorang membuat akunnya di aplikasi Anda menggunakan Facebook Login, tetapi nanti juga ingin masuk ke akun menggunakan kredensial unik dan kata sandi. Misalnya, Netflix memiliki aplikasi web yang menggunakan Facebook Login beserta sistem masuk reguler, dan juga aplikasi Xbox 360 yang orang-orang hanya dapat menggunakan sistem masuk reguler.

1. Pastikan alamat email Facebook Login diverifikasi

Jika Anda menggunakan alamat email sebagai kredensial unik yang mengidentifikasi setiap akun, aplikasi Anda harus memverifikasi bahwa alamat email yang dihubungkan dengan akun Facebook orang tersebut (dan diperoleh selama Facebook Login) itu valid. Anda dapat melakukan ini dengan membuat kode di aplikasi Anda untuk mengirim email verifikasi ke alamat yang diperoleh setelah Facebook Login (Anda mungkin harus tetap menerapkan langkah ini sebagai bagian dari sistem masuk reguler Anda).

2. Minta orang tersebut untuk memberikan kata sandi baru (dan kredensial lain)

Setelah alamat email diverifikasi, sekarang Anda dapat meminta orang tersebut memberikan kata sandi, yang menunjukkan bahwa dia dapat menggunakan kata sandi ini untuk masuk ke aplikasi Anda di masa mendatang bersama dengan alamat emailnya. Setelah diberikan, Anda dapat menambahkan ini ke bagian yang sama di database Anda, tempat Anda menyimpan informasi akun.

Jika sistem masuk aplikasi Anda tidak menggunakan alamat email sebagai identifikasi dan menggunakan sesuatu yang dibuat pengguna seperti nama pengguna, maka Anda juga harus meminta orang tersebut memberikan nama di waktu yang sama seperti kata sandi.

Orang-orang mungkin juga mengharapkan bahwa aplikasi Anda menawarkan kemampuan untuk menghapus akun Facebook yang terkait dari akun masuk mereka - cukup dengan menghapus tabel info Facebook dari database akun Anda untuk orang tersebut.