Saya menggunakan token JWT di header HTTP untuk mengautentikasi permintaan ke server sumber daya. Server sumber daya dan server auth adalah dua peran pekerja terpisah di Azure.
Saya tidak dapat menentukan apakah saya harus menyimpan klaim dalam token atau melampirkannya ke permintaan / respons dengan cara lain. Daftar Klaim memengaruhi rendering elemen UI sisi klien serta akses ke data di server. Untuk alasan ini saya ingin memastikan bahwa klaim yang diterima oleh server adalah asli dan divalidasi sebelum permintaan diproses.
Contoh klaim adalah: CanEditProductList, CanEditShopDescription, CanReadUserDetails.
Alasan saya ingin menggunakan token JWT untuk mereka adalah:
- Perlindungan yang lebih baik terhadap pengeditan klaim sisi klien (mis. Meretas daftar klaim).
- Tidak perlu mencari klaim pada setiap permintaan.
Alasan saya tidak ingin menggunakan token JWT:
- Server auth kemudian harus mengetahui daftar klaim app-centric.
- Token menjadi satu titik masuk-hack.
- Saya telah membaca beberapa hal yang mengatakan bahwa token JWT tidak dimaksudkan untuk data tingkat aplikasi.
Tampak bagi saya bahwa keduanya memiliki kekurangan, tetapi saya condong ke arah dimasukkannya klaim ini ke dalam token dan hanya ingin menjalankan ini oleh orang-orang yang pernah menangani ini sebelumnya.
CATATAN: Saya akan menggunakan HTTPS untuk semua permintaan API, jadi bagi saya tampaknya token akan cukup 'aman'. Saya menggunakan AngularJS, C #, Web API 2 dan MVC5.