TL; DR
Tek bir istemci uygulaması, tek bir API gibi çok basit senaryolarınız varsa, OAuth 2.0'a gitmek için işe yaramayabilir, öte yandan, birçok farklı istemci (tarayıcı tabanlı, yerel mobil, sunucu tarafı) OAuth 2.0 kurallarına uymak, onu kendi sisteminizi yuvarlamaya çalışmaktan daha yönetilebilir hale getirebilir.
Başka bir cevapta belirtildiği gibi, JWT ( Learn JSON Web Tokens ) sadece bir token formatıdır, dijital olarak imzalandığı için taraflar arasında veri doğrulanabilecek ve güvenilebilecek şekilde veri iletmek için kompakt ve bağımsız bir mekanizma tanımlar. Ek olarak, bir JWT'nin kodlama kuralları, bu belirteçlerin HTTP bağlamında kullanımını çok kolaylaştırır.
Kendi kendine yeten (gerçek jeton belirli bir konu hakkında bilgi içerir) aynı zamanda vatansız kimlik doğrulama mekanizmalarını uygulamak için iyi bir seçimdir ( Bak anne, oturum yok! ). Bu rotaya giderken ve bir tarafın korumalı bir kaynağa erişim izni vermesi gereken tek şey belirtecin kendisidir, söz konusu belirteç taşıyıcı belirteci olarak adlandırılabilir.
Pratikte, yaptığınız şey zaten taşıyıcı belirteçlerine göre sınıflandırılabilir. Ancak, OAuth 2.0 ile ilgili spesifikasyonlarda belirtilen taşıyıcı belirteçleri kullanmadığınızı düşünün (bkz. RFC 6750 ). Bu, Authorization
HTTP üst bilgisine dayanarak ve Bearer
kimlik doğrulama düzenini kullanarak anlamına gelir .
JWT'nin, kesin detayları bilmeden CSRF'yi önlemek için kullanılmasıyla ilgili olarak, bu uygulamanın geçerliliğini belirlemek zordur, ancak dürüst olmak gerekirse doğru ve / veya değerli görünmemektedir. Aşağıdaki makale ( Çerezler ve Jetonlar: Kesin Kılavuz ), özellikle XSS ve XSRF Koruması bölümü olmak üzere bu konuda yararlı bir okuma olabilir .
Son bir tavsiye parçası, tam OAuth 2.0'a gitmenize gerek olmasa bile , özel başlıklarla gitmek yerine erişim simgenizi Authorization
başlık içinde geçirmenizi şiddetle tavsiye ederim . Gerçekten taşıyıcı belirteçleri ise, RFC 6750 kurallarına uyuyorsa, her zaman özel bir kimlik doğrulama düzeni oluşturabilir ve yine de bu başlığı kullanabilirsiniz.
Yetkilendirme başlıkları HTTP proxy'leri ve sunucuları tarafından tanınır ve özel olarak işlenir. Bu nedenle, kaynak sunucularına erişim belirteçleri göndermek için bu başlıkların kullanılması, genel olarak kimliği doğrulanmış isteklerin ve özellikle Yetkilendirme başlıklarının sızıntı veya istenmeyen depolama olasılığını azaltır.
(kaynak: RFC 6819, bölüm 5.4.1 )