Cara membuatnya bisa diperluas
Pertama, Anda harus memperhatikan semua api ini menggunakan mekanisme yang sama untuk masuk. Mereka semua menggunakan OAuth untuk otentikasi mereka. Ini Anda perlu memanfaatkan dengan mulai dengan perpustakaan OAuth umum. Jangan gunakan perpustakaan mereka sendiri untuk otentikasi, ini tidak akan dapat digunakan untuk penyedia lain. Jika Anda memahami OAuth2, cukup mudah untuk menambahkan lebih banyak penyedia.
Sayangnya, Anda perlu dua dari mereka, karena twitter masih belum ikut-ikutan OAuth2.
OAuth mengharuskan Anda membuat antarmuka untuk pesta autentikasi. Token akan ditukar server ke server. Buat satu titik masuk, yang dapat menangani semua komunikasi.
Token harus disimpan dalam tabel terpisah dari akun Anda, ini karena mereka dapat berupa beberapa token dan beberapa profil tertaut. Beberapa layanan memberi Anda dua token, salah satunya adalah token penyegaran.
Sekarang Anda merancang antarmuka, yang merangkum fungsi lain yang Anda butuhkan. Saya pribadi akan menyiapkan layanan REST terpisah untuk ini. Dengan cara ini Anda dapat dengan mudah memperluas otentikasi ke tempat lain.
Beberapa layanan menggunakan JSON untuk berkomunikasi, lainnya menggunakan XML dll. Untuk pengguna depan, Anda perlu menyatukan semuanya. Ini adalah proses yang cukup menyakitkan, tetapi dimungkinkan untuk mendapatkan beberapa alasan umum di sini.
Masalah lain di sini, adalah tidak semua layanan menyediakan fungsionalitas yang sama. Ini dapat berarti, bahwa layanan Anda tidak dapat menyediakan API lengkap seperti yang Anda tentukan. Anda perlu memiliki strategi di sini, yang memungkinkan aplikasi menurunkan versi dengan anggun.
Ini semua akan memastikan Anda dapat dengan mudah menambahkan penyedia pihak ke-3 yang baru.
Masalah token
Token dibatasi dalam waktu, sehingga Anda memerlukan beberapa pekerjaan cron, yang dapat memeriksa apakah token masih dapat digunakan, jika tidak Anda harus menghapusnya. Anda juga dapat menyegarkan token dengan mekanisme ini.
Kadang-kadang terjadi, bahwa pengguna menarik token. Bersiaplah untuk ini.
Penyimpanan data
Jika Anda memiliki desain ini, Anda perlu memikirkan data yang Anda butuhkan. Ini mengikuti sebagian dari antarmuka yang baru Anda buat. Desain beberapa tabel untuk ini dan lihat apakah datanya benar-benar dapat diambil. Beberapa layanan tidak membiarkan Anda mengambil banyak data. Anda juga harus mempertimbangkan, bahwa semakin banyak data yang Anda butuhkan, semakin berat pesan privasi itu. Jadi bersikaplah sederhana dalam kebutuhan Anda, jika tidak, pengguna tidak akan menggunakannya.
Untuk verifikasi tambahan, Anda dapat menyimpan profil dalam tabel terpisah, tetapi tertaut dengan pengguna Anda. Ini akan memberi Anda lebih banyak informasi tentang seseorang.
Periksa juga undang-undang setempat Anda, untuk beberapa data Anda perlu tindakan pencegahan ekstra.
Hal terakhir.
Jangan membuat kesalahan di mana Anda tidak membuat akun di layanan Anda sendiri. Jika pengguna dicekal dari Facebook, ia secara efektif tidak akan bisa masuk ke layanan Anda. Ini adalah situasi yang tidak ingin Anda ciptakan. Ini sering diabaikan.