Saya relatif baru untuk jwt.io dan otentikasi dan saya menggunakan JWT.io dengan cara berikut.
Sisi server
Setelah pengguna masuk, saya membuat token dengan userid
tertanam di dalamnya dan meneruskannya kembali ke pengguna di badan pesan
Browser Sisi Klien / JS Saya menyimpan token di localStorage dan untuk setiap permintaan berikutnya, saya meneruskan token di header.
Authorization: Basic someEncryptedValue
Saya juga pernah menggunakan
X-Auth-Token: someEncryptedValue
Bisakah saya menggunakan ini dalam cookie?
Kemudian di sisi server, saya memverifikasi token terhadap rahasia, memeriksa kedaluwarsa, mengeluarkan id dari token dan kemudian melayani permintaan.
Apakah semuanya benar dalam alur kerja ini?
authentication
session
authorization
cookies
pengguna2727195
sumber
sumber
Jawaban:
Alur kerja Anda benar (dengan asumsi Anda menggunakan HTTPS), dan ya Anda bisa menyimpan token Anda di Cookie daripada meneruskannya di header otorisasi.
Saya tidak merekomendasikan menggunakan OAuth2. Menerapkan bahkan aliran yang paling sederhana sekalipun akan menambah kerumitan pada proses login Anda, dan bagi saya sepertinya Anda tidak membutuhkannya karena bagian "sisi server" Anda semuanya hidup di domain yang sama.
Jika itu aku, aku akan menggunakan cookie. Berpegang teguh pada skema yang dipahami dengan baik menyisakan lebih sedikit peluang untuk kebingungan dan berarti browser menangani pengiriman dan pembaruan cookie Anda (mis. Pertimbangkan bagaimana Anda dapat menangani sesi dengan waktu tunggu idle)
sumber
Bacaan yang bagus. Ini berbicara tentang menyimpan token ke penyimpanan lokal dan kemudian mengirim kembali melalui javascript dalam permintaan http.
: https://stormpath.com/blog/where-to-store-your-jwts-cookies-vs-html5-web-storage
sumber
Semua browser sekarang mendukung Digest Auth, yang aman bahkan melalui HTTP. Tergantung pada kebutuhan Anda yang tepat, ini mungkin cukup.
sumber