Saya telah mengembangkan aplikasi yang akan mendukung banyak pengguna. Masalahnya adalah saya tidak bisa mencari tahu, bagaimana cara mengotentikasi klien / pengguna.
Saya membuat aplikasi seperti http://quickblox.com/ di mana saya akan memberikan kredensial kepada pengguna saya dan mereka akan menggunakannya untuk membangun aplikasi N di mana mereka tidak dapat memasukkan nama pengguna dan kata sandi untuk mendapatkan otentikasi.
Mari kita asumsikan itu sebagai berikut. (Sama seperti QuickBlox)
1. Pengguna membuat akun di situs web saya.
2. Pengguna dapat membuat kunci N API dan mengeluarkan kredensial. (Untuk beberapa aplikasi)
3. Pengguna akan menggunakan kredensial ini dalam aplikasi mereka (Android, iOS, Javascript dll ...) untuk berbicara dengan API REST saya.
(REST APIs memiliki akses baca dan tulis.)
Perhatian ku?
Pengguna akan memasukkan kredensial mereka (kunci API dan kunci sekresi) dalam aplikasi yang mereka bangun, bagaimana jika seseorang mendapatkan kunci ini dan mencoba meniru pengguna? (Dengan mendekompilasi APK atau langsung melihat ke dalam kode JavaScript.
Apakah saya salah di suatu tempat?
Saya bingung dengan arsitek mekanisme pengguna tiga tingkat ini.