Memerlukan otentikasi atau sertifikat untuk melihat aplikasi Heroku

Saya memiliki api yang dikerahkan ke Heroku. Saat ini terbuka untuk dilihat semua orang. Saya hanya ingin ponsel Android yang dikenal dapat memodifikasi dan mengakses api.

Saya tidak ingin pengguna harus login setiap kali menggunakan aplikasi.

Dapatkah saya menambahkan semacam sertifikat ke telepon untuk memverifikasi kredibilitasnya?

Apakah OAuth merupakan pendekatan terbaik untuk ini?

Apakah ada cara yang lebih baik untuk melakukan ini sehingga pengguna tidak perlu login setiap saat?


person Jessica Gonzalez    schedule 16.07.2015    source sumber


Jawaban (1)


Ini adalah pertanyaan yang cukup luas (dan karenanya terdapat beberapa pendekatan). Tanpa mengetahui bahasa/kerangka kerja yang Anda gunakan, sulit juga memberikan saran spesifik, namun:

  • Server Anda dapat mengeluarkan cookie atau token yang dapat disimpan klien secara lokal selama jangka waktu tertentu. Token ini harus menyertakan stempel waktu dan diautentikasi (gunakan perpustakaan yang melakukan otentikasi HMAC) untuk mencegah klien mengubah token.

  • Klien harus menyajikan token atau cookie ini pada setiap permintaan ke server Anda melalui header HTTP atau header Cookie standar.

  • Anda memerlukan sistem login untuk mendukung penerbitan awal token/cookie.

Klien juga dapat melakukan OAuth terhadap server Anda (kompleks) atau terhadap layanan eksternal (GitHub/Facebook/Google/Twitter), tetapi Anda masih memerlukan cara untuk melacak status tersebut pada klien (karenanya berupa token/cookie).

Dukungan cookie harus disertakan dengan klien HTTP Android standar, dan sebagian besar kerangka sisi server memiliki dukungan (atau perpustakaan untuk) cookie yang diautentikasi.

person elithrar    schedule 17.07.2015
comment
Terima kasih. Saya menggunakan Django. Namun, saya memanggil sisa api dari aplikasi Android. - person Jessica Gonzalez; 17.07.2015
comment
Jika Anda menggunakan Django, saya sarankan menggunakan django.contrib.auth dengan cookie yang ditandatangani (sederhana) atau mempertimbangkan otentikasi token dari django-rest- framework.org/api-guide/authentication/ - person elithrar; 17.07.2015