Bir kaynak sunucusuna istekleri doğrulamak için HTTP başlıklarında JWT belirteçleri kullanıyorum. Kaynak sunucu ve kimlik doğrulama sunucusu, Azure'da iki ayrı çalışan rolüdür.
İddiaları jetonda saklamalı mıyım yoksa başka bir şekilde talebe / yanıta mı eklemem gerektiği konusunda karar veremem. Talepler listesi, istemci tarafı UI öğelerinin oluşturulmasını ve sunucudaki verilere erişimi etkiler. Bu nedenle, istek işleme alınmadan önce sunucu tarafından alınan taleplerin gerçek ve doğrulanmış olduğundan emin olmak istiyorum.
İstemlere örnekler: CanEditProductList, CanEditShopDescription, CanReadUserDetails.
Onlar için JWT jetonunu kullanmak istememin nedenleri:
- İstemlerin istemci tarafında düzenlenmesine karşı daha iyi koruma (örn. Saldırı talepleri listesi).
- Her talepte taleplere bakmaya gerek yok.
JWT belirtecini kullanmak istemememin nedenleri:
- Kimlik doğrulama sunucusu daha sonra uygulama merkezli hak talepleri listesini bilmelidir.
- Jeton, hack girişinin tek bir noktası haline gelir.
- JWT belirteçlerinin uygulama düzeyinde veriler için tasarlanmadığını söyleyen birkaç şey okudum.
Bana öyle geliyor ki, her ikisinin de dezavantajları var, ancak bu iddiaların jetonun içine dahil edilmesine doğru eğildim ve bunu daha önce bununla uğraşan insanlar tarafından yürütmek istiyorum.
NOT: Tüm API istekleri için HTTPS kullanacağım, bu yüzden belirteç 'yeterince' güvenli olacak gibi görünüyor. AngularJS, C #, Web API 2 ve MVC5 kullanıyorum.